如何更新多云集群证书?
前提条件
- 集群各个组件运行正常。
- 集群各个节点处于ready状态。
操作步骤
- 下载ucs-ctl二进制工具,放到任一台本地集群的管控节点/root/ucs目录下。
- 将所有节点密码信息记录到表格中,并保存到二进制所在节点/root/ucs/update_cert.csv,格式请参考表1。
表1 表格模板 字段
说明
Node IP
必填,节点IP地址
Node Role
必填,节点角色(选填master/node)
User
必填,节点登录用户
Password
选填,节点登录密码
Auth Type
选填,节点认证类型(选填password/key)
Key Path
选填,节点登录密钥路径
样例如下:
Node IP,Node Role,User,Password,Auth Type,Key Path
192.168.0.145,master,root,xxx,password
192.168.0.225,master,root,xxx,password
192.168.0.68,master,root,xxx,password
192.168.0.89,node,root,xxx,password
- 登录AWS控制台,编辑安全组{cluster_name}-node,将该安全组放通22端口,以保证可以访问。
- 开启密码访问,登录集群内所有节点,执行以下命令。
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config systemctl restart sshd passwd
设置节点密码,并记录到本地。
- 配置环境变量。
export CUSTOM_DOMAIN={ucs_endpoint},10.247.0.1
- 其中ucs_endpoint为server访问地址,可通过以下方式获取。
cat /var/paas/srv/kubernetes/kubeconfig | grep server
- 如果在安装集群的执行机上操作,可不用配置环境变量。
- 执行证书更新。
cd /root/ucs cp /var/paas/srv/kubernetes/ca.key /var/paas/srv/kubernetes/ca_key.pem ./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv
- 失败后重试。
./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv -r
- 失败后回滚。
./ucs-ctl kcm rollback-cert {cluster_name} -c update_cert.csv