TDH Manager 9.4 之前的版本环境下TOS CA证书续签(脚本)

  其他常见问题
内容纲要

概要描述

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

主要影响tos 2.x的产品,包括:

TDH 5.0 ~ 9.4 (不包含 Manager 9.4.0.0)

详细说明

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

检查方式

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

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

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

file

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

1. 获取更新脚本并解压

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

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

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

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

请参考链接:
TDH Manager 9.4 之前的版本环境下TOS CA证书续签(Manager和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

file

执行此脚本会在 ca-renewal 目录下生成 hosts.txt。

  • hosts.txt 中仅包含集群节点的 hostname、ip 及 tos角色;
  • hosts.txt 文件不能有多余的空行;
  • hosts.txt 文件中内容需要手动补充;
  1. 第一列:主机名
  2. 第二列:主机IP
  3. 第三列:主机角色(master 代表 TOS Master ,worker 代表不是 tos master 的节点。)
  4. 第四列:ssh 端口;
  5. 第五列:ssh 登录用户;
  6. 第六列:ssh 登录密码;
$ 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

file

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

3. 证书更新

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

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

$ bash ca-renewal-manager.sh

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

file

  1. 如果 Manager 开了高可用,则需要在另一个 Manager 节点更新 bootstrap
    若 Manager 开启了高可用,可以将整个 ca-renewal 目录,拷贝到 2 个 Manager 节点,按照如下顺序,先后执行这 2 个脚本。

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

$ bash 09-update-manager-db.sh
$ bash 09-update-manager-metainfo.sh

完成以上步骤,就代表 TOS ca 证书续签完成了。
后续步骤是修改 TOS metainfo,为扩容新节点时生成新证书。

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

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

file

  1. 找到tos的metainfo文件:

比如上图中,对应的 tos 版本为 tos-2.1.5

cd /var/lib/transwarp-manager/master/content/meta/services/TOS/tos-2.1.5
# 如果 service 目录不存在,则是services_imported
cd /var/lib/transwarp-manager/master/content/meta/services_imported/TOS/tos-2.1.5
  1. 修改metainfo.yaml

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

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

vi metainfo.yaml

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

  • 如果Manager版本在8.0及以后,直接使用下面的metainfo
- directive: !
     script: |
        <#assign distros = ["BCLINUX4EULER21", "EULER20", "EULER22", "KYLIN10", "NEOKYLIN7", "RHEL7", "RHEL8", "ROCKY8", "ROCKY9", "UOS1050A", "UOS1050E", "UOS1060E"]>
        <#if distros?seq_contains(.data_model['node.distro'])>
          (/bin/cp -f /srv/kubernetes/ca.pem /etc/pki/ca-trust/source/anchors/) && update-ca-trust
        <#else>
          (/bin/cp -f /srv/kubernetes/ca.pem /usr/local/share/ca-certificates/) && update-ca-certificates
        

file

  • 如果是8.0以前的版本,判断扩容节点是什么操作系统
uname -a
cat /etc/os-release

["BCLINUX4EULER21", "EULER20", "EULER22", "KYLIN10", "NEOKYLIN7", "RHEL7", "RHEL8", "ROCKY8", "ROCKY9", "UOS1050A", "UOS1050E", "UOS1060E"]

如果在以上列表里面,使用以下内容修改。

- directive: !
     script: |
       (/bin/cp -f /srv/kubernetes/ca.pem /etc/pki/ca-trust/source/anchors/) && update-ca-trust

如果不在,使用以下内容修改。

- directive: !
     script: |
       (/bin/cp -f /srv/kubernetes/ca.pem /usr/local/share/ca-certificates/) && update-ca-certificates
  1. 重启 manager 生效。
systemctl restart transwarp-manager

5.TOS 配置服务

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

file

如果扩容的节点是混部的,那么根据节点不同的操作系统,在执行扩容角色,tos slave启动失败后,手动将主节点下的/srv/kubernetes/ca.pem拷贝到对应目录,执行指令,后重启docker

6. 检查

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

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

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

file

1、检查 bootstrap

head /srv/kubernetes/bootstrap.kubeconfig

输出的 certificate-authority-data 最后几位是 :RU5EIENFUlRJRklDQVRFLS0tLS0K 代表续签完成。

file

附录:使用升级的方式续签

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

Manager 升级至 9.4 操作方案

如果已经是 Manager 9.4.0.0 版本,请参考以下链接:

Manager 9.4.0.0 + TOS 2.1.5 版本 CA 证书续签

Manager 9.4.0.0 + TOS 3.3.0 版本 CA 证书续签

这篇文章对您有帮助吗?

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

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

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

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