kubernetes kubelet证书到期解决办法

问题说明

kubelet证书默认有效期是一年,这样一年之后我们的node节点就会处于not ready的状态,为了避免这个问题就需要想一个解决方案。

curl -s -L -o /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod a+x /bin/cfssl-certinfo
 cfssl-certinfo -cert /etc/kubernetes/ssl/kubelet.crt

解决方案

证书替换

使用admin证书替换kubelet证书。

备份 mkdir  ~/sslback && mv /etc/kubernetes/kubelet.kubeconfig  ~/sslback/
使用admin证书文件替换
cp ~/.kube/config /etc/kubernetes/kubelet.kubeconfig 
systemctl  restart kubelet && systemctl  status  kubelet

重新请求证书

手动签发,在 kubelet 首次启动后,如果用户 Token 没问题,并且 RBAC 也做了相应的设置,那么此时在集群内应该能看到 kubelet 发起的 CSR 请求 ,必须通过后kubernetes 系统才会将该 Node 加入到集群。

在证书过期node删除kubelet相关证书文件
rm -rf /etc/kubernetes/kubelet.kubeconfig
rm -rf /etc/kubernetes/ssl/kubelet.*
systemctl  restart kubelet && systemctl  status  kubelet
自动生成了kubelet kubeconfig 文件和公私钥
查看未授权的CSR请求
kubectl get csr
通过CSR 请求:
kubectl certificate approve csr
查看重新生成的证书文件
ll /etc/kubernetes/ssl/kubelet.*
kubectl  get nodes --show-labels

```

猜你喜欢

转载自www.cnblogs.com/chenxiba/p/12354694.html