内容纲要
概要描述
说明,本方法仅限于安装了 Sophon 的 TDH 集群。
Sophon on TDH 集群的 flannel 需要从集群的 etcd 读取配置,部署 flannel 的集群上需要将续签好的 etcd 证书同步到所有的 slave 节点。
证书过期后将可能会影响集群的正常使用。
受影响的版本
如下版本将会受到影响:
- Sophon on TDH:
- 受影响的TOS版本:1.9.x ≤ TOS版本 ≤ 2.1.x
tos版本 可以通过kubectl version
查看
- 受影响的TOS版本:1.9.x ≤ TOS版本 ≤ 2.1.x
为了保证集群的健康运行,请在证书过期前更新证书。
您可以进入集群的8180页面的 应用市场>已安装服务>选择集群页面, 查看是否安装了sophon服务
详细说明
本文测试环境概述如下,后续提到的命令中包含了集群的 hostname、IP 信息的时候,请根据您环境的实际情况进行相应的替换。
172.22.25.70 jiujiu-tdh-70
172.22.25.71 jiujiu-tdh-71
172.22.25.72 jiujiu-tdh-72
172.22.25.73 jiujiu-tdh-73
TDH环境的额外特定操作(flannel,未安装flannel可跳过)
若安装了flannel服务,需要将其复制到flannel的所有安装节点上
1. 检查集群中的续签情况以及 etcd/tos-master 所在节点和集群中节点情况
1.1. 获取 etcd/tos-master 所在节点
如下etcd/tosmaster所在节点为
172.22.25.70 jiujiu-tdh-70
172.22.25.71 jiujiu-tdh-71
172.22.25.72 jiujiu-tdh-72
1.1.1 集群正常使用的情况下获取 etcd/tos master 节点:
# kubectl get po -owide -n kube-system |grep etcd
tos-etcd-tos-jiujiu-tdh-70 1/1 Running 1 83d 172.22.25.70 jiujiu-tdh-70
tos-etcd-tos-jiujiu-tdh-71 1/1 Running 1 83d 172.22.25.71 jiujiu-tdh-71
tos-etcd-tos-jiujiu-tdh-72 1/1 Running 1 83d 172.22.25.72 jiujiu-tdh-72
1.1.2 对于已经过期的集群的 etcd/tos master 节点获取方式:
# openssl x509 -in /srv/kubernetes/etcd.pem -noout -text |grep -i dns
DNS:jiujiu-tdh-70, DNS:jiujiu-tdh-71, DNS:jiujiu-tdh-72,jiujiu-tdh-73 IP Address:127.0.0.1, IP Address:10.10.10.1, IP Address:172.22.25.70, IP Address:172.22.25.71, IP Address:172.22.25.72
1.2. 在 1.1 中获取的任意一个etcd/tos master 节点 查看etd-ca续签情况
如下可见 etcd/tos master 节点上的etcd证书均已续签至100年以后.
若未续签, 请按照TOS etcd-ca 相关证书脚本化续签 做集群的续签操作。
# openssl x509 -text -in /srv/kubernetes/etcd.pem | grep "Not"
Not Before: Feb 14 05:36:00 2023 GMT
Not After : Jan 21 05:36:00 2123 GMT
# openssl x509 -text -in /srv/kubernetes/etcd-ca.pem | grep "Not"
Not Before: Feb 14 05:37:28 2023 GMT
Not After : Jan 21 05:37:28 2123 GMT
1.3. 集群中节点情况获取
# cat /etc/transwarp/conf/hosts
172.22.25.70 jiujiu-tdh-70
172.22.25.71 jiujiu-tdh-71
172.22.25.72 jiujiu-tdh-72
172.22.25.73 jiujiu-tdh-73
2. 将更新了的证书复制到非 etcd/tos master 节点
将任意一个etcd/tos master节点的,已经更新后的 etcd 证书 ,复制到所有非etcd/tos master节点上
# scp /srv/kubernetes/etcd* root@《非etcd节点的ip或者hostname》:/srv/kubernetes/
例如,本集群中 172.22.25.73 jiujiu-tdh-73
为非etcd/tos master节点
[root@jiujiu-tdh-70 ~]# scp /srv/kubernetes/etcd* root@172.22.25.73:/srv/kubernetes/
3.重启flannel服务
任意节点执行,重启flannel 的pod
kubectl delete po $(kubectl get po -owide -n kube-system |grep flannel|awk '{print $1}') -n kube-system
4.验证非etcd/tos master节点证书情况
# openssl x509 -text -in /srv/kubernetes/etcd.pem | grep "Not"
Not Before: Feb 14 05:36:00 2023 GMT
Not After : Jan 21 05:36:00 2123 GMT
# openssl x509 -text -in /srv/kubernetes/etcd-ca.pem | grep "Not"
Not Before: Feb 14 05:37:28 2023 GMT
Not After : Jan 21 05:37:28 2123 GMT