k8s kubeadm高可用集群证书续期

1.查看证书期限

kubeadm certs check-expiration

2.更改系统时间为证书过期的时间

 因为要保持集群的时间一直,使用xshell对多个会话同时执行以下命令

systemctl stop chrondy  #停止时间同步工具

date -s 06/15/2024    #更改系统时间为证书过期后的时间

date    #查看当前系统时间

3. 再次查看k8s的证书

kubeadm certs check-expiration

可以看到residual time变成了invalid

此时执行任何kubectl的命令都会提示证书过期的报错

4.证书续期(以下是对一个master节点的续期)

kubeadm certs renew all

查看 续期后的证书期限

kubeadm certs check-expiration

 residual time会重新续期为一年

5.查看配置文件是否更新

ls -ll /etc/kubernetes/

根据配置文件的更改时间可以知道,k8s组件的配置文件在续期证书后自动更新了,但是kubelet并没有自动更新,因为证书续期的时候是没有给kubelet的证书续期的,kubelet用的还是旧的过期证书,需要手动更新kubelet证书

一般情况下是不用重启k8s组件的,如果配置没有生效的情况下需要使用以下命令手动重启k8s组件

docker ps |grep -v pause |grep -E "etcd|scheduler|controller|apiserver"  |awk '{print $1}' |xargs docker restart

加入去除pause的原因是,k8s的组件在docker中有两个容器,一个是带pod,我们重启的是不带pod的

6.更新kubelet证书

在更新kubelet证书前,还需要替换以下config的配置,因为更新证书也是不会自动更新config配置的

cp /etc/kubernetes/admin.conf ~/.kube/config  #不更改此配置的也会报错

现在来手动更新kubelet证书

cat /etc/kubernetes/admin.conf

将此crt和key全都一起复制下来

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak

将配置文件备份一份    #在续期完成后可以重新用回原来的配置文件

vi /etc/kubernetes/kubelet.conf

将此处的crt和key配置删除

 把刚刚从admin.conf复制的crt和key的所有内容粘贴进来,重启kubelet服务

systemctl restart kubelet

查看kubelet 证书,在里面会看到新生成的证书

ls -ll /var/lib/kubelet/pki/

如果特殊情况下,证书在重启kubelet后也没生成得话,就删除软连接里的老证书,在重启一次kubelet

rm -rf /var/lib/kubelet/pki/kubelet-client-2024-06-15-00-03-33.pem

 systemctl restart kubelet

重启完成后就会生成新的证书了

通过以下命令查看证书是否续期成功

openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Not

 至此该节点证书续期完成,可以正常使用kubectl命令

其余master节点也是按照以上步骤续期证书即可

7.work节点证书续期

work节点只要续期kubelet证书即可

备份kubelet配置文件   #在续期完成后可以重新用回原来的配置文件

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak

手动更新kubelet证书

cat /etc/kubernetes/admin.conf   #在任意一个续期后的master节点执行此命令

将此crt和key全都一起复制下来 

 vi /etc/kubernetes/kubelet.conf

将此处的crt和key配置删除

 把刚刚从admin.conf复制的crt和key的所有内容粘贴进来,重启kubelet服务

systemctl restart kubelet

查看kubelet 证书,在里面会看到新生成的证书

ls -ll /var/lib/kubelet/pki/

  或者通过以下命令查看证书是否续期成功

openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Not

至此该节点证书续期完成,可以正常使用

其余work节点也是按照以上步骤续期证书即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值