Kubernetes v1.21证书更新后Lens无法查看Pod日志的排查与解决
Kubernetes证书更新后Lens查看Pod日志报错的原因及解决方法
错误信息
Failed to load logs: Get "https://172.29.217.209:10250/containerLogs/reddwarf-pro/cv-render-service-7c4958fbbf-hhpn6/cv-render-service?tailLines=502×tamps=true": dial tcp 172.29.217.209:10250: connect: connection refused Reason: undefined (500)
可能的原因
- kubelet证书未同步配置:
kubeadm certs renew all更新了kubelet服务端证书,但kubelet配置文件未指向新证书,导致kubelet无法正常监听10250端口。 - kubelet证书权限错误:新生成的kubelet证书文件(
/var/lib/kubelet/pki/kubelet.crt、/var/lib/kubelet/pki/kubelet.key)权限或所属用户组不正确,kubelet无法读取启动。 - 端口访问被拦截:节点防火墙/安全组未允许Lens所在机器访问10250端口,或证书更新后触发了规则变更。
- Lens的kubeconfig未更新:Lens使用的kubeconfig仍包含旧证书信息,请求被kubelet拒绝,表现为连接失败。
解决步骤
1. 验证kubelet端口监听状态
在报错节点(172.29.217.209)执行:
ss -tulpn | grep 10250
无输出则说明kubelet未监听该端口,需排查kubelet启动状态。
2. 检查kubelet运行状态与日志
查看kubelet状态:
systemctl status kubelet
实时查看kubelet日志,定位证书相关错误:
journalctl -u kubelet -f
3. 同步kubelet证书配置
确认/var/lib/kubelet/config.yaml中证书路径配置正确:
tlsCertFile: /var/lib/kubelet/pki/kubelet.crt tlsPrivateKeyFile: /var/lib/kubelet/pki/kubelet.key
修改后重启kubelet:
systemctl restart kubelet
4. 修复证书文件权限
检查证书文件权限:
ls -l /var/lib/kubelet/pki/kubelet.crt /var/lib/kubelet/pki/kubelet.key
设置正确权限(所属用户组kube:kube,权限600):
chown kube:kube /var/lib/kubelet/pki/kubelet.crt /var/lib/kubelet/pki/kubelet.key chmod 600 /var/lib/kubelet/pki/kubelet.crt /var/lib/kubelet/pki/kubelet.key
重启kubelet生效。
5. 开放10250端口访问
- 节点内部用iptables开放端口:
iptables -A INPUT -p tcp --dport 10250 -j ACCEPT
- 云服务器需检查安全组规则,允许Lens所在IP段访问节点10250端口。
6. 更新Lens的kubeconfig配置
重新生成包含新证书的kubeconfig:
kubeadm kubeconfig user --client-name admin > /root/.kube/config
将更新后的/root/.kube/config文件导入Lens,替换原有配置。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

