概要描述
TOS CA 证书会在2025年12月7号过期,本文提供一种续签的方式。
主要影响tos 2.x的产品,包括:
TDH 5.0 ~ 9.4 (包含Manager ~ 9.4.0.2)
TDC < 2.5.0 (不包含250)
TDC 5.0系列 纳管了受影响版本的 TDH (如TDC5.0.3纳管了TDH6.2.2,则需要更新CA证书)
详细说明
- 检查 TOS 版本
2.1 TOS 版本2.1.5
2.2 TOS 版本3.3
检查方式
- 检查检查当前集群TOS证书过期时间
登录集群任意节点,执行下面的命令
openssl x509 -text -in /srv/kubernetes/ca.pem |grep Not

如果显示是 2025/12/7 号过期,则表示受影响。
- 检查Manager版本,确认大于等于9.4.0.0
登录 Manager 页面,点击右上角关于我们,查看 Manager 版本号是否大于等于 9.4.0.0

- 检查 tos 版本
登录 Manager 页面,点击上方全局服务,TOS 查看 TOS 版本号。

TOS 版本为 2.1.5
1. 需要安装 Manager 系统补丁
安装 9.4.0.3 补丁(点击下载)。

等待5-10分钟后,页面会自动刷新,重新登录 Manager ,查看关于我们,确认更新是否成功。

2. TOS 配置服务
登录 Manager 页面,点击上方全局服务,TOS,然后配置服务。

TOS版本号是3.3
Manager 9400(另外单独升级过 tos 到 3.3.0 )的集群,证书续签需要做如下操作:
0. 需要安装 Manager 系统补丁
安装 9.4.0.3 补丁(点击下载)。

等待5-10分钟后,页面会自动刷新,重新登录 Manager ,查看关于我们,确认更新是否成功。

1. 获取更新脚本并解压
点击下载X86架构CA证书更新工具 ca-renewal-v10.tar.gz
点击下载ARM64架构CA证书更新工具 ca-renewal-v10-arm64.tar.gz
上传到集群的Manager master节点上,解压安装包。
如果开启了高可用,则在Manager当前主节点的后台。
注意:如果Manager的master节点不是Tos master节点,需要联系售后技术支持处理。
# 解压
tar -zxvf ca-renewal-v10.tar.gz
cd ca-renewal/
# 安装 sshpass
rpm -ivh sshpass-1.06-2.el7.x86_64.rpm
2. 填写集群节点信息
bash gen-hosts.sh

执行此脚本会在 ca-renewal 目录下生成 hosts.txt,里面仅包含集群节点的 hostname、ip 及 tos角色。
hosts.txt文件不能有多余的空行
执行上述脚本后,需要手动检查hosts.txt,在第四列补充节点的ssh端口,第5列对应ssh的用户名,第6列对应密码
host.txt 里面为集群所有节点的信息,需要将内容更改为安装集群的节点 hostname、ip、角色、ssh用户名、ssh密码,中间以空格隔开。
master 指 tos master 角色的
worker 指集群中不是 tos master 的节点
$ cat hosts.txt
gts-131086 172.18.131.86 master 22 root pwd123456
gts-131087 172.18.131.87 master 22 root pwd123456
gts-131088 172.18.131.88 master 22 root pwd123456
gts-131089 172.18.131.89 worker 22 root pwd123456
gts-131090 172.18.131.90 worker 22 root pwd123456

注意:
如果使用非root用户执行脚本,在执行tos续签脚本前,需要给该用户在对应节点上添加sudo权限,比如:
test-name245 ALL=(ALL) NOPASSWD: ALL
3. 执行替换 bootstrap 证书并更新 metainfo
bash 13-update-bootstrap.sh
bash 09-update-manager-metainfo.sh
4. TOS 配置服务
登录 Manager 页面,点击上方全局服务,TOS,然后配置服务。

5. 检查
0、检查当前集群TOS证书过期时间,登录集群任意节点,执行下面的命令
openssl x509 -text -in /srv/kubernetes/ca.pem |grep Not
如果显示是 2120 年过期,则表示续签成功。

1、检查 bootstrap
head /srv/kubernetes/bootstrap.kubeconfig
输出的 certificate-authority-data 最后几位是 :RU5EIENFUlRJRklDQVRFLS0tLS0K 代表续签完成。
