服务发布示例

本文介绍tars服务如何快速制作成docker镜像, 并发布到K8S集群上.

镜像制作以及helm包

tars服务制作镜像可以通过官方提供的tarscloud/base-compiler来制作. 方式如下:

拉取编译镜像

docker pull tarscloud/base-compiler

进入镜像

docker run -it -v/var/run/docker.sock:/var/run/docker.sock -v`pwd`:/data/src tarscloud/base-compiler bash

tars服务的yaml文件

每个服务都需要一个(或者多个)values.yaml文件, 来描述服务是如何部署在TarsK8S上面的, 请参考yaml文件格式

  • 制作tars服务的镜像

在base-compiler容器内部, 使用exec-build.sh制作tars服务的镜像, 示例如下:

exec-build.sh BaseImage SERVERTYPE(cpp/nodejs/java-war/java-jar/go/php) Files YamlFile Tag Push Dockerfile(可选)

例如:

exec-build.sh tarscloud/tars.cppbase:v1.0.0 cpp build/bin/StorageServer yaml/values.yaml v1.0.0 true

yaml/values.yaml示例如下:

执行完脚本后会生成:

  • 服务的镜像(yourrepository/od.storageserver:v1.0.0)

制作Helm包

执行以下命令, 完成部署:

例如:

说明:

  • 这里yaml/values.yaml, TAG和上一步exec-build.sh中的tag要一致

  • 会生成一个helm包: od-storageserver.tgz

  • 使用这个od-storageserver.tgz可以完成服务的发布

执行部署

执行以下命令, 完成部署:

例如:

注意, 此时你需要有连接到K8S集群的能力, 即当前环境中有K8S集群的config

Last updated

Was this helpful?