k8s 证书过期问题

40 阅读1分钟

k8s证书过期问题

问题描述

使用 kubectl 输出异常

# kubectl get pod

异常结果如下

image.png

解决方案

  1. 检查证书
# kubeadm certs check-expiration

image.png

  1. 备份文件
# cp -r /etc/kubernetes  /etc/kubernetes_bak

3.更新证书

# kubeadm certs renew all

image.png

4.检查证书更新是否成功

# kubeadm  certs check-expiration

image.png

5.重启服务(控制平面组件是以 static Pod(静态 Pod)运行的)

cp -rp $HOME/.kube/config $HOME/.kube/config.bak
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
systemctl restart kubelet

为什么这样做就够了

  • kubelet 会自动监控 /etc/kubernetes/manifests/*.yaml 中定义的静态 Pod;
  • 这些 Pod(apiserver / controller-manager / scheduler / etcd)挂载的证书文件已经被你更新;
  • 当 kubelet 发现底层挂载的文件时间戳变化,就会自动重新拉起这些 Pod,从而加载新证书。

参考文档: blog.csdn.net/wdy_2099/ar…