Skip to the content.

k8stars

k8stars是便于将tars服务运行在 Kubernetes 中的方案。

特性

实现原理

  1. 在tarsregistry增加了3个接口,用于tars名字的自动注册/心跳上报和节点下线。详情见接口定义

  2. 提供一个tarscli命令行工具,用于分配端口/生成配置/上报心跳以及节点下线。

部署示例

  1. 安装tars基础服务
    curl https://raw.githubusercontent.com/TarsCloud/K8STARS/master/baseserver/install_all.sh | sh
    
  2. 部署服务示例
    • 部署示例simpleserver

      cd examples/simple && kubectl apply -f simpleserver.yaml

      示例说明:

      • 镜像由 examples/simple/Dockerfile 文件制作,基础镜像由 cmd/tarscli/Dockerfile 制作
      • start.sh中的tarscli genconf用于生成tars服务启动配置
      • _server_meta.yaml文件用于配置服务的元数据,字段信息可以参考 app/genconf/config.go 中的 ServerConf 结构体。endpoint默认为tcp -h ${local_ip} -p ${random_port},支持自动填入IP和随机端口。
    • 基于Go语言的 HelloWorld 程序 TestApp.HelloGo

      详细查看 examples/README.md

  3. 验证部署 登录db_tars,然后执行select * from t_server_conf\G可以看到simpleserver的节点信息已自动注册。

tars部署目录结构

tarscli基于环境变量TARS_PATH(默认/tars)来管理服务,各目录功能:

关于tarscli

tarscli提供了一组命令工具,方便tars服务的容器化部署,可通过环境变量来指定参数,详细说明见tarscli help。 以下是tarscli支持的子命令

基础服务

tars相关基础服务提供了丰富的服务治理功能功能。可参考baseserver的说明进行部署。