我的 k8s 版本 v1.17.13
我的证书今天过期了,所以我 在所有主服务器上运行了
kubeadm alpha certs renew all
systemctl restart kubelet 。 我运行的所有 kubectl 命令都运行正常..例如 kubectl get nodes、kubectl scale、kubectl describe... 但是,运行 kubectl logs 会出现以下错误 :您必须登录到服务器(服务器已要求客户端提供凭据
知道为什么吗...我相信我的 ~/.kube/config 没问题,因为我能够运行其他 kubectl 命令。我删除了 kube-apiserver 以强制重新启动...但问题仍然存在...
你能帮我解决这个问题吗?谢谢,
答案1
环顾四周……我在我的工作节点上看到了这个
由于错误无法验证请求:x509:证书已过期或尚未生效
经过进一步的故障排除...我的 3 个主服务器中只有 2 个导致了此错误
kubectl 日志错误:您必须登录到服务器(服务器已要求客户端提供凭据
在检查了大量资源后,我实在找不到问题的原因,因此我决定一次重新启动 2 个发生故障的主服务器,这样就成功了。我猜 kube-system 中的某些 pod 需要重新启动。
此外,我在所有工作节点上重新启动了 kubelet,但不确定这是否产生效果。
请注意https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#manual-certificate-renewal没有提到重启 master
最后说明一下...我不确定为什么证书更新不那么顺利...在遇到本文中描述的 kubectl 日志问题之前...我在我的第一个主服务器上遇到了这个错误(“bootstrap-kubelet.conf 不存在”问题,这不允许 kubelet 重新启动),所以我不得不按照https://stackoverflow.com/questions/56320930/renew-kubernetes-pki-after-expired