在更新kubeadm证书以及修改时间后,发现kubectl命令无法使用。
[root@lolicp ~]# kubectl get pod -o wide --all-namespaces
error: You must be logged in to the server (Unauthorized)
通过查看配置和时间发现~/.kube/config
配置的时间已过期
[root@lolicp ~]# awk '/client-certificate-data/ {print $2}' ~/.kube/config|base64 -d |openssl x509 -text |grep Validity -A2
Validity
Not Before: Dec 22 01:50:26 2023 GMT
Not After : Dec 21 01:50:28 2024 GMT
[root@lolicp ~]# date
Sat Jan 4 00:01:39 CST 2025
而最新的配置还未到期
[root@node1 ~]# cat /etc/kubernetes/admin.conf|awk '/client-certificate-data/ {print $2}'|base64 -d |openssl x509 -text |grep Validity -A2
Validity
Not Before: Dec 22 01:50:26 2023 GMT
Not After : Oct 29 16:01:26 2025 GMT
解决办法
执行以下命令即可恢复
cp -f /etc/kubernetes/admin.conf /root/.kube/config