Closed shadowofmoo closed 1 year ago
执行这个命令查看一下证书有效期
openssl x509 -text -noout -in /etc/kubernetes/pki/apiserver.crt
Not Before: Apr 7 03:33:34 2023 GMT Not After : Apr 4 03:33:34 2033 GMT
使用kubeadm 检查证书也是2033年到期
麻烦提供一下信息: kube版本:v1.x.x 容器引擎:containerd or docker
你原来的证书是不是过期的,如果是,那么就是 kube-apiserver 重启失败,看一下 kube-apiserver 容器持续运行时间
kube版本:Kubernetes v1.23.5 容器引擎:containerd
原来的证书不是过期的,在使用你这个脚本更新证书之后,使用各项命令正常。 然后今天才发现,kubelet kube-apiserver 一直在报证书错误
kube版本:Kubernetes v1.23.5 容器引擎:containerd
原来的证书不是过期的,在使用你这个脚本更新证书之后,使用各项命令正常。 然后今天才发现,kubelet kube-apiserver 一直在报证书错误
containerd,脚本用的是 docker 重启命令,你需要手动重启一下 kube-apiserver
用的是那个containerd的脚本
用的是那个containerd的脚本
嗷嗷,你查看一下 kube-apiserver 的运行时间,看看重启生效了没有,如果环境运行重启,可以重启一下
重启生效了,如果不生效的话,使用基本的命令会报证书错误
理论上,现在 kubectl 和集群正常通信,各种命令能正常使用,kube-apiserver 就是能正常响应请求的,具体问题还得看更多日志才行
如果需要详细排查,可以邮件一下 yuyicai@hotmail.com ,提供一下微信 or TG 联系方式
如果需要详细排查,可以邮件一下 yuyicai@hotmail.com ,提供一下微信 or TG 联系方式
如果详细 log 方便贴在这里,也可以继续在 issue 中讨论
加了大佬的微信,在大佬帮助下解决了。先感谢一下大佬。解决过程方法如下:
先说一下环境:kubernetes v1.23.5 底层容器使用的 containerd
在使用大佬的脚本更新证书之后,使用kubeadm certs check-expiration
命令查看证书,证书也确实更新为10年有效期。使用kubectl 相关命令,都能正常执行。
之后有人反应使用 kubectl 不能正常查看日志,经排查,是apiserver组件使用旧证书导致的,详细解释见这个链接: https://www.cnblogs.com/wzs5800/p/15085193.html
解决方法见这个链接: https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#manual-certificate-renewal
后来也就是这个issuer,node节点kubelet 报证书错误,apiserver组件偶尔报证书错误。还是因为node节点上的kubelet组件使用旧版证书导致的,使用systemctl restart kubelet
命令,重启一下kubelet就可以了。
报错日志如下: "Unable to authenticate the request" err="[x509: certificate has expired or is not yet valid..." 但是集群使用kubectl相关命令正常。