1.1 场景介绍
我们在搭建 Kubernetes 集群时,一般只声明用于集群 Master、Etcd等通信的证书 为 10年 或者 更久,但未声明集群 Kubelet 组件证书 ,Kubelet 组件证书 默认有效期为1年。集群运行1年以后就会导致报 certificate has expired or is not yet valid 错误,导致集群 Node不能和集群 Master正常通信。
通过以下命令可以快速了解证书过期情况:
openssl x509 -in kubelet.crt -noout -text | grep "Not"
openssl x509 -in kubelet-client-current.pem -noout -text | grep "Not"
openssl s_client -connect 127.0.0.1:10250 | openssl x509 -text | grep -E "Before|After"
openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -text | grep "Not"
openssl x509 -in /etc/kubernetes/pki/apiserver-kubelet-client.crt -noout -text | grep "Not
那么这个 kubelet.crt 是干啥的?它是 kubelet 本地端口需要的证书。你可以通过以