管理平台运维
管理平台运维是指通过 tarsweb 服务来管理 TarsCloud K8SFramework
TarsWeb 的访问
当您成功安装 Framework , 且观察到 tars-tarsweb-0 pod 成功启动, 即代表 tarweb 部署成功.
但此时, 因为 Kubernetes 本身的限制, 你需要选择一种方式访问 TarsWeb:
使用 HostNetwork 方式访问
- 修改 tserver/tarsweb.spec.Kubernetes.hostnetwork 值为 true,具体命令为
kubectel edit tserver -n ${namespace} tars-tarsweb
- 等待 tars-tarsweb-0 pod 重启启动并获取其 ip 值, 具体命令为
kubectl get pods -n ${namespace} tars-tarsweb-0 -o wide
- 使用 http://$(ip):3000 访问管理平台
使用 HostPort 方式访问
- 修改 tserver/tarsweb.spec.Kubernetes.hostPorts 为如下值
spec:
Kubernetes:
hostPorts:
- nameRef: http
port: 3000
具体命令为:
kubectel edit tserver -n ${namespace} tars-tarsweb
- 等待 tars-tarsweb-0 pod 成功启动并获取其 ip值, 具体命令为
kubectl get pods -n ${namespace} tars-tarsweb-0 -o wide
- 使用 http://$(ip):3000 访问管理平台
使用 Ingress 方式访问
如果您的集群已经安装了 Ingress 控制器 , 可以配置ingress 规则指向 ${Namespace}/tars-tarsweb:3000
然后可以就可以使用 ingress 规则中的路由地址访问了
TarsWeb 的使用
TarsWeb 主要特性包括:
- 服务的发布, 扩容, yaml 文件变更
- pod 漂移以后, 记录历史 pod/节点 ip, 能看到服务的漂移前的日志, 方便定位问题
- 记录了 pod 历史镜像, 访问回滚
- 服务流量和耗时统计, 属性上报的展示
- 配置文件修改, 变更以及回滚
- shell 方式进入 pod, 方便查看日志
- 支持服务以 tgz 包形式上传打包, web 会调用 tarsimage 制作镜像并发布
TarsWeb 与原生集群的融合
当前版本的 TarsWeb 可以同时管理原生 Tars 集群.具体开启方式为. 登陆 TarsWeb 管理平台后, 进入 ““运维管理”->”集群配置” 界面
在 nativeDBConfig 中填入原生 Tars 框架所使用的 MySql 配置信息, 填充格式如下:
{
"show": true,
"enable": false,
"dbConf": {
"host": "db.tars.com",
"port": "3306",
"user": "tars",
"password": "tars2015",
"charset": "utf8",
"pool": {
"max": 10,
"min": 0,
"idle": 10000
}
}
}
在 nativeFrameworkConfig 中填入原生集群的 TarsRegistry 服务信息, 内容格式如下:
<tars>
<application>
#proxy需要的配置
<client>
#地址
locator = tars.tarsregistry.QueryObj@tcp -h registry.tars.com -t 60000 -p 17890 -t 3000
sync-invoke-timeout = 20000
#最大超时时间(毫秒)
max-invoke-timeout = 60000
#刷新端口时间间隔(毫秒)
refresh-endpoint-interval = 300000
#模块间调用[可选]
stat = tars.tarsstat.StatObj
#网络异步回调线程个数
asyncthread = 3
modulename = tars.system
</client>
</application>
</tars>
upchain 中填入需要访问原生集群中 Obj 名和地址, 这样 tarsk8s 集群中未寻址到的 Obj 地址,就会按照 upChain 中的配置寻址.
内容格式如下:
upChain:
default:
- host: 172.16.8.67
port: 8888
- host: 172.16.8.68
port: 8888
tars.tarsnotify.NotifyObj:
- host: 172.16.8.123
port: 10017
Test.TestServer.GetsumObj:
- host: 172.16.8.123
port: 10018
配置完成并重建 tars-tarsweb-0 , 再次访问 tarsweb 管理平台,即可同时看到 tars 信息和 tarsk8s信息.