TDH Manager 5.x 版本 TOS CA 证书续签操作方案

  其他常见问题
内容纲要

概要描述

TOS CA 证书会在2025年12月7号过期,本文提供一种通过脚本续签证书的方式。

本文只适用于 TDH 集群 Manager5.x 版本

详细说明

  1. 获取更新脚本
  2. 修改配置文件
  3. 更新证书
  4. 手动修改tos的metainfo文件内容
  5. 检查

检查方式

  1. 检查检查当前集群TOS证书过期时间

登录集群任意节点,执行下面的命令

openssl x509 -text -in /srv/kubernetes/ca.crt |grep Not

file

如果显示是 2025/12/7 号过期,则表示受影响。
请按照如下连接的方式完成证书续签。

1. 获取更新脚本并解压

点击下载X86架构CA证书更新工具 ca-renewal-v11.tar.gz

点击下载ARM64架构CA证书更新工具 ca-renewal-v11-arm64.tar.gz

上传到集群的 Manager master 节点上,解压安装包。如果开启了高可用,则在既有 TOS Master 角色,也有 Manager 角色的节点后台。

注意:如果 Manager 的 master 节点不是 Tos Master 节点,需要联系售后技术支持处理。

# 解压
tar -zxvf ca-renewal-v11.tar.gz
cd ca-renewal/
# 安装 sshpass
rpm -ivh sshpass-1.06-2.el7.x86_64.rpm

2. 填写集群节点信息

bash gen-hosts-tdh5.sh

file

执行此脚本会在 ca-renewal 目录下生成 hosts.txt,里面仅包含集群节点的 hostname、ip。

hosts.txt文件不能有多余的空行

执行上述脚本后,需要手动检查hosts.txt;

  • 第三列加上 master 或者 worker;
  • 第四列补充节点的ssh端口;
  • 第五列对应ssh的用户名;
  • 第六列对应ssh用户的密码;

host.txt 里面为集群所有节点的信息,需要将内容更改为安装集群的节点 hostname、ip、角色、ssh用户名、ssh密码,中间以空格隔开。

master 指 tos master 角色的
worker 指集群中不是 tos master 的节点

$ cat hosts.txt
gts-131040 172.18.131.40 master 22 root 123456
gts-131041 172.18.131.41 master 22 root 123456
gts-131042 172.18.131.42 master 22 root 123456

file

注意:
如果使用非root用户执行脚本,在执行tos续签脚本前,需要给该用户在对应节点上添加sudo权限,比如:
test-name245 ALL=(ALL) NOPASSWD: ALL

3. 证书更新

  1. 执行脚本,续签 CA 证书

manager(tos master)主节点 执行 ca-renewal-manager.sh 脚本进行证书更新

$ bash ca-renewal-manager5.sh

脚本执行成功后会有如下显示,否则需根据提示查看脚本执行失败原因。

file

完成以上步骤,就代表 TOS ca 证书续签完成了。

后续步骤是修改 TOS metainfo,为扩容新节点时生成新证书。

4.手动修改tos的metainfo文件内容

  1. 确认tos 版本
    docker images |grep etcd

file

  1. 找到tos的metainfo文件:

比如上图中,对应的 tos 版本为 transwarp-5.2.2-final

2、拷贝更新过的ca.crt 及 kubecfg 相关文件到 第一步 metainfo 路径下的 templates 目录下:

cp /srv/kubernetes/ca.crt /var/lib/transwarp-manager/master/content/meta/services/TOS/transwarp-5.2.2-final/templates

cp /srv/kubernetes/kubecfg.* /var/lib/transwarp-manager/master/content/meta/services/TOS/transwarp-5.2.2-final/templates

cp /srv/kubernetes/server.* /var/lib/transwarp-manager/master/content/meta/services/TOS/transwarp-5.2.2-final/templates

file

  1. 修改metainfo.yaml

PS:一定要注意yaml 文件的格式和内容,复制粘贴修改 metainfo 时,一定要确认修改后的内容和缩进必须符合 yaml 要求。

如果修改后出现,未使用 TOS,需要安装一个TOS服务,则需要检查一下 metainfo.yaml 内容和格式。

vi metainfo.yaml

找到 TOS_SLAVE 下的 type: Scaleout,在最后面加上以下内容,注意跟其他的directive并列,注意缩进保持一致

3、修改metainfo.yaml,找到 TOS_SLAVE 下的 type: Scaleout,在最后面加上以下内容,注意跟其他的directive并列,注意缩进保持一致

判断扩容节点是什么操作系统。

如果在这个列表里:["BCLINUX4EULER21", "EULER20", "EULER22", "KYLIN10", "NEOKYLIN7", "RHEL7", "RHEL8", "ROCKY8", "ROCKY9", "UOS1050A", "UOS1050E", "UOS1060E"],用以下的脚本:

    - directive: !
        templateType: FreeMarker
        templatePath: "ca.crt"
        targetPath: "/srv/kubernetes/ca.crt"
        mode: "600"
    - directive: !
        templateType: FreeMarker
        templatePath: "kubecfg.crt"
        targetPath: "/srv/kubernetes/kubecfg.crt"
        mode: "600"
    - directive: !
        templateType: FreeMarker
        templatePath: "kubecfg.key"
        targetPath: "/srv/kubernetes/kubecfg.key"
        mode: "600"
    - directive: !
        templateType: FreeMarker
        templatePath: "kubecfg.pem"
        targetPath: "/srv/kubernetes/kubecfg.pem"
        mode: "600"
    - directive: !
        templateType: FreeMarker
        templatePath: "server.pem"
        targetPath: "/srv/kubernetes/server.pem"
        mode: "600"
    - directive: !
        templateType: FreeMarker
        templatePath: "kubeconfig"
        targetPath: "/srv/kubernetes/kubeconfig"
        mode: "600"
    - directive: !
         script: |
           systemctl daemon-reload && systemctl restart haproxy && systemctl restart kubelet
    - directive: !
         script: |
           (/bin/cp -f /srv/kubernetes/ca.crt /etc/pki/ca-trust/source/anchors/) && update-ca-trust

file

如果是其他操作系统,将以下脚本最后一行中的 /etc/pki/ca-trust/source/anchors/ 替换成
/usr/local/share/ca-certificates/

file

3、最后执行:/etc/init.d/transwarp-manager restart 生效;

6. 检查

0、检查当前集群TOS证书过期时间,登录集群任意节点,执行下面的命令

openssl x509 -text -in /srv/kubernetes/ca.crt |grep Not

如果显示是 2120 年过期,则表示续签成功。

file

附录:使用其他方式续签

证书续签,也可以通过升级 Manager 解决证书过期的问题。

Manager 升级至 9.4 操作方案

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。