k8s证书过期处理过程

k8s证书过期处理过程

  • 以下步骤在master节点操作
cp -r /etc/kubernetes/ /etc/kubernetes_bak$(date +%Y%m%d)

cp -r /var/lib/kubelet/pki/ /var/lib/kubelet/pki_bak$(date +%Y%m%d)
  1. 查看k8s自签证书过期时间

    kubeadm alpha certs check-expiration

  2. 续订k8s自签证书

    kubeadm alpha certs renew all

  3. 验证k8s自签证书过期时间

    kubeadm alpha certs check-expiration

    • 如果有多个master节点时在剩余master-2,master-3上重复上述操作
  4. 重启k8s组件apiserver,sechudler,controller-manager,etcd

    kubectl get pod -n kube-system|grep apiserver|awk '{print $1}'|xargs kubectl delete pod -n kube-system
    kubectl get pod -n kube-system|grep scheduler|awk '{print $1}'|xargs kubectl delete pod -n kube-system
    kubectl get pod -n kube-system|grep controller-manager|awk '{print $1}'|xargs kubectl delete pod -n kube-system
    kubectl get pod -n kube-system|grep etcd|awk '{print $1}'|xargs kubectl delete pod -n kube-system    
  5. 更新kubelet证书

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

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

现在来手动更新kubelet证书

cat /etc/kubernetes/admin.conf

img

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

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak$(date +%Y%m%d)

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

vi /etc/kubernetes/kubelet.conf

img

将此处的crt和key配置删除

把刚刚从admin.conf复制的crt和key的所有内容粘贴进来

img

重启kubelet服务

systemctl restart kubelet

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

ls -lh /var/lib/kubelet/pki/

img

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

cp /var/lib/kubelet/pki/kubelet-client-current.pem  /var/lib/kubelet/pki/kubelet-client-current.pem_bak$(date +%Y%m%d)

rm -rf /var/lib/kubelet/pki/kubelet-client-current.pem 

systemctl restart kubelet

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

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

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

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

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

6. work节点证书续期

  • 以下在work节点操作
  • work节点只要续期kubelet证书即可

更新kubelet证书 操作。所有的work节点均需要更新

注意:crt和key的值,需要从任意一个续期后的master节点复制下来

k8s证书过期处理过程

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top
桂ICP备2023008908号-1