框架K8SDocker 部署
Last updated
Was this helpful?
Last updated
Was this helpful?
本文介绍一种将 Tars 部署在 k8 上的方案, 主要逻辑如下:
将框架服务容器化, 使用 docker: tarscloud/framework
将 tarsnode 节点也容器化, 使用 docker: tarscloud/tars-node
tars 框架和 tarsnode 节点都作为 pod 部署在 k8s 上, pod 运行的容器当成一台虚拟机
通过 tars web 发布服务到这些容器中运行
这种方式发布和容灾仍然依赖 Tars 的能力, k8s 只是作为容器的管理平台.
先安装 helm3, helm 的使用自己学习, 简单的说 helm 是一种部署服务到 k8s 的工具.
下面使用 helm 安装 tars 框架, tars-test 换成你希望的 namespace
部署了, 2 台主控, 5 台节点的 tars 环境, web 访问的域名是: http://$namespace.$host.$port, 这里是: http://tars-test.domain.com:6080
注意:
tars.data & mysql.data 需要在共享盘上(比如 NFS), 否则 pod 漂移数据就丢失了
mysql.rebuild 为 false, 否则 mysql 的 pod 漂移会导致数据被清空
mysql, tars, tars-node 的 pod 都以 StatefullSet 形式存在