tarsdocs
  • Readme.md
  • CLA
  • LICENSE
  • 基础介绍
    • 简介
    • 基础概念
    • 基础通信协议 Tars
    • 统一通信协议 Tup
    • 开发模式介绍
    • 模板配置
    • 服务市场
    • 服务扩展
    • 框架版本说明
  • 开源版框架介绍
    • 开源版本部署
      • 部署总体介绍
      • Docker环境安装
      • Mysql安装
      • 框架源码部署(Linux/Mac)
      • 框架源码部署(Windows)
      • 框架Docker部署
      • 框架节点部署
      • 业务服务容器化
      • 框架K8SDocker 部署
      • 框架K8STARS 部署
      • 框架K8SFramework 部署(强烈推荐)
      • 框架更新及扩容
      • 调用链升级注意事项
      • TarsWeb-v3.0.3升级说明
    • 开源版管理平台
      • TarsWeb说明
      • web用户体系
      • web管理平台 API
  • 企业版本介绍
    • 企业版说明
    • 框架集群化机制
    • 框架单节点机制
    • 使用二进制包部署
    • 使用容器部署
    • 业务服务一主多备机制
    • 命令行控制终端
    • IP-LIST级联缓存机制
    • 多数据中心管理
    • 多网络支持
    • 第三方服务管理
    • 数据产生和管理机制
    • 密码重置
    • TarsPython介绍
  • 框架关键特性
    • 业务配置
    • 服务监控
    • 无损发布/重启
    • 调用链
    • IDC分组
    • 鉴权功能
  • TarsCPP
    • 编译
    • 快速开发入门
    • 使用指南
    • 开发规范
    • 服务线程说明文档
    • protobuf 协议支持文档
    • 第三方协议支持
    • HTTP1 支持
    • HTTP2 支持
    • TLS 通信支持
    • Push 功能说明
    • PushCallback 功能说明
    • Cookie 支持
    • 队列模式
    • 手动绑定
    • 性能数据
    • 2.x 版本变化
    • 3.x 版本变化
    • 协程版本说明
    • 基础类库说明
    • [案例]
      • 框架快速入门
      • Http 服务示例
  • TarsJava
    • 快速开始
    • 快速开发入门
    • [使用指南]
      • Tars 服务开发与上线
      • HTTP 服务开发与上线
      • 生成接口调用文件
    • [性能测试]
      • tars java 压测代码
  • TarsGo
    • 基本介绍
    • 快速开始
    • 使用指南
    • cmake 管理代码
    • pb2tarsgo
    • 性能数据
    • 使用示例
  • TarsPHP
    • 搭建 php 环境
    • 快速开发入门
    • [快速起步]
      • 搭建 HttpServer
      • 搭建 TimerServer
      • 搭建 TcpServer
      • 搭建 WebSocketServer
      • 弹幕活动实战
    • [框架简介]
      • 简介
      • tars-server
      • tars-client
      • tars-config
      • tars-deploy
      • tars-extension
      • tars-log
      • tars-monitor
      • tars-registry
      • tars-report
      • tars-utils
      • tars2php
    • [高阶应用]
      • PHP 的 Swoole 框架如何接入 Tars
      • 与 thinkphp 结合使用
      • 与 Swoft 结合使用
      • 与 Laravel 结合使用
      • 与 Yii2 结合使用
      • 持续集成方案
    • [其他]
      • 常见问题
      • 如何 Debug
      • changelog
      • 其他外部文档
  • Tars.js
    • 基本介绍
    • 脚手架
    • 快速开发入门
    • @tars/stream
    • @tars/rpc
    • @tars/logs
    • @tars/config
    • @tars/monitor
    • @tars/notify
    • @tars/utils
    • @tars/dyeing
    • @tars/node-agent
    • @tars/winston-tars
    • tars2node
  • K8SFramework
    • [安装和使用说明]
      • 介绍
      • 特性
      • 安装
      • 升级
      • 云原生运维
      • 管理平台
      • 证书
    • [开发环境构建]
      • Dockerfile 说明
      • 服务发布流程说明
      • 制作基础编译镜像
      • 制作业务服务镜像
      • 制作 Helm 包
      • 发布业务镜像到 K8S 集群
      • 服务发布示例
      • 如何调试业务服务
  • 服务扩展
    • 云告警
    • 接口及压测工具
    • 网关服务
    • dcache缓存服务
    • 发送邮件服务
    • 一致性存储服务
    • 一致性存储web管理平台
    • 唯一计数服务
  • 常见问题
    • 安装常见问题
    • Issues
    • Issues-tarscpp
    • Issues-tarsjava
    • Issues-tarsgo
    • Issues-tarsphp
  • 开源合作
    • TarsFramework 项目 Git 合作规范
  • 直播视频
    • B 站 TARS 培训系列课程
  • 相关文章
    • TARS 技术文章
  • 其它资源分享
    • 下载
    • Tars 介绍.pptx
    • TarsPHP 解密.pdf
    • TarsJava 本地调试.pdf
    • 微服务在腾讯的业务实践.pptx
Powered by GitBook
On this page
  • 目录
  • TarsCloud K8SFramework
  • 设计
  • 特性
  • 安装与升级
  • 运维
  • 开发者
  • Todo

Was this helpful?

  1. K8SFramework
  2. [安装和使用说明]

介绍

Previous[安装和使用说明]Next特性

Last updated 2 years ago

Was this helpful?

目录

TarsCloud K8SFramework

TarsCloud K8SFramework 是为了将 Tars 部署在 Kubernetes 集群而做的适应性改造项目. TarsCloud K8SFramework 提供了包括部署,升级,回滚,、伸缩容,配置变更的在内的 Tars 服务全生命周期管理. 借助 TarsCloud K8SFramework, Tars 服务可以无缝运行在公有云或私有部署的 Kubernetes 集群.

设计

TarsCloud K8SFramework 使用 Kubernetes Operator 模式支持 Tars 服务在 Kubernetes 集群的部署和运维. 具体由 CRD, Controller, Framework 三部分组成, 其关系如下:

CRD

crd 是我们在 Kubernetes 集群中增加的一些自定义资源类型, 每种资源类型都抽象了 Tars 框架的概念或动作, 对这些资源执行 "增删改查" 操作, 就是对 Tars 框架的查询,管理和运维. crd 类型有:

  • tserver: tserver 抽象了 tars 服务属性, 每个 tserver 对象代表着一项 tars 服务.

  • tconfig: tconfig 抽象了 tars 服务配置属性, 每个 tconfig 对象代表一项 tars 服务配置.

  • ttemplate: ttemplate 抽象了 tars 服务模板属性, 每个 ttemplate 对象代表了一项 tars 模板.

  • taccount: taccount 抽象了 tarsweb 用户, 每个 taccount 对象代表一个 tarsweb 账号.

  • timage: timage 抽象了 tars 服务版本发布, 每个 timage 对象都记录了其关联 tars 服务已发布版本,发布时间,镜像地址,镜像密钥等信息.

  • tendpoint: tendpont 抽象了 tars 服务运行状态, 每个 tendpoint 对象都记录了其关联 tserver 的运行实时运行状态.

  • texitedrecord: texitedrecord 抽象了 tars 服务的退出状态, 每个 texitedrecord 对象都记录了其关联 tserver pods 的生命周期信息

  • tframeworkconfig: 每套tars 框架其只有唯一的 tframeworkconfig 对象, 用于记录 tars 框架级别的配置信息

  • ttree: 每套 tars 集群且其只有唯一的 ttree 对象, 用于记录 tars business 与 tars app 的关联信息

Controller

controller 是 Kubernetes Operator 模式的核心. 主要职责有:

  • 校验 crd 对象值合法性, 填充默认值, 添加,删除对象标签值

  • 持续监听 crd 对象的 "增删查改" 操作, 并将调谐成 Kubernetes 原生对象(statefulset,daemonset,service)

  • 提供 crd 版本兼容转换服务

Framework

framework 是指 tars 框架中的基础服务, 相比原生 tars 框架, TarsCloud Kubernetes 增删了部分服务,其清单和功能说明如下:

  • elasticsearch: 单节点 elasticsearch 服务, 替代原生 Tars 中的 MySql, 用于存储服务监控,特性监控,消息通知等信息

  • tarsweb: 提供运维管理平台服务

  • tarsregistry: 提供注册中心服务

  • tarsconfig: 提供配置中心服务

  • tarsnotify: 提供消息中心服务

  • tarslog : 提供日志中心服务

  • tarsproperty, tarsqueryproperty: 提供特性监控数据汇聚和查询服务

  • tarsstat, tarsquerystat: 提供的服务监控数据汇聚和查询服务

  • tarsimage, tarskaniko: 提供镜像构建服务

  • tarskevent: 提供 kubernetes 集群的 event 监听服务

  • tarsnode: 节点守护程序

每个 Kubernetes 集群只可以部署一套 CRD 和 Controller, 可以在不同的命名空间分别部署 Framework. 每套 Framework 互相独立, 等价一套原生 Tars 集群

特性

安装与升级

运维

开发者

Todo

  • 时区处理: 当前 TarsCloud K8SFramework 是通过在 Pod 中挂载 宿主机 /etc/localtime 文件尝试解决时区同步问题, 但是在某些宿主机无法按预期工作,我们正在探索更好的办法.

  • 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 , 我们将会在项目添加迁移工具

TarsCloud K8SFramework 特性介绍请参考 <<>>

TarsCloud K8SFramework 以 Helm Cart 的形式对外发布 您可以参考 <<>> 进行安装 您可以参考 <<>> 进行升级

TarsCloud K8SFramework 支持两种运维管理方式 普通开发部署人员 可以通过 <<>> 进行运维管理 Kubernetes 集群管理员可以通过<<>> 进行运维管理

做为开发者,您可以参考 <<>> 从源码开始构建项目

特性
安装
升级
管理平台
云原生运维
构建
TarsCloud K8SFramework
设计
CRD
Controller
Framework
特性
安装与升级
运维
开发者
Todo