TarsCloud K8SFramework 是为了将 Tars 部署在 Kubernetes 集群而做的适应性改造项目.
TarsCloud K8SFramework 提供了包括部署,升级,回滚,、伸缩容,配置变更的在内的 Tars 服务全生命周期管理.
借助 TarsCloud K8SFramework, Tars 服务可以无缝运行在公有云或私有部署的 Kubernetes 集群.
TarsCloud K8SFramework 使用 Kubernetes Operator 模式支持 Tars 服务在 Kubernetes 集群的部署和运维.
具体由 CRD, Controller, Framework 三部分组成, 其关系如下:
crd 是我们在 Kubernetes 集群中增加的一些自定义资源类型, 每种资源类型都抽象了 Tars 框架的概念或动作,
对这些资源执行 “增删改查” 操作, 就是对 Tars 框架的查询,管理和运维. crd 类型有:
controller 是 Kubernetes Operator 模式的核心. 主要职责有:
framework 是指 tars 框架中的基础服务, 相比原生 tars 框架, TarsCloud Kubernetes 增删了部分服务,其清单和功能说明如下:
每个 Kubernetes 集群只可以部署一套 CRD 和 Controller, 可以在不同的命名空间分别部署 Framework. 每套 Framework 互相独立, 等价一套原生 Tars 集群
TarsCloud K8SFramework 特性介绍请参考 «特性»
TarsCloud K8SFramework 以 Helm Cart 的形式对外发布
您可以参考 «安装» 进行安装
您可以参考 «升级» 进行升级
TarsCloud K8SFramework 支持两种运维管理方式
普通开发部署人员 可以通过 «管理平台» 进行运维管理
Kubernetes 集群管理员可以通过«云原生运维» 进行运维管理
做为开发者
您可以参考 «构建» 进行构建
您可以参考 «开发» 进行开发
我们欢迎任何形式的贡献,包括但不限于代码,文档,建议等
您可以通过 Tars社区, Issue, Pr 等任意可用方式与我们沟通交流
Tars SSL 支持:
当前 TarsCloud K8SFramework 未支持 Tars SSL, 我们会在后续版本提供支持
Tars Set 支持 当前 TarsCloud K8SFramework 未支持 Tars Set, 我们会在后续版本提供支持
文档计划 我们会逐步增加 TarsCloud K8SFramework 项目的文档
测试案例 我们会逐步增加 TarsCloud K8SFramework 项目的测试案例, 包括针对 tarscontroller ,tarsframework ,helm安装,升级,降级的自动化测试
Tars DCache 支持 当前 TarsCloud K8SFramework 未支持 Tars DCache, 我们会在后续版本提供支持
调试工具 Pod 中的服务调试运行比较困难,我们将会在基础镜像中添加 DebugTools, 便于在 Pod 中排查故障
迁移工具 您可能有很历史服务需要迁移部署到TarsCloud K8SFramework , 我们将会在项目添加迁移工具