kubernetesk kubelet证书到期解决方法

kubelete 证书默认有效期一年

1
2
3
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

crt

方法一

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

方法二 kubelet重新请求证书

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

1
2
3
4
5
6
7
8
9
10
11
12
在证书过期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-404fc
查看重新生成的证书文件
ll /etc/kubernetes/ssl/kubelet.*
kubectl get nodes --show-labels