kubectl logs 无法查看 Pod 日志报错 NotFound
💡
原文中文,约1700字,阅读约需4分钟。
📝
内容提要
在 Kubernetes 中,无法查看 Pod 日志和执行命令可能是由于 Kubelet 健康状态或 Metrics Server 问题。解决方法包括添加 node-ip、删除有问题的 Metrics Server 或降级其版本。
🎯
关键要点
- 在 Kubernetes 中,无法查看 Pod 日志和执行命令可能是由于 Kubelet 健康状态或 Metrics Server 问题。
- 能查看 Pod 的信息,但无法查看 Pod 的日志,可能是因为 Kubelet API 获取容器日志失败。
- 测试 Kubelet 健康状态正常,但无法执行 exec 命令进入 Pod。
- 无法查看 Metrics,可能是因为 Metrics Server Pod 所在节点的指标无法访问。
- 解决办法包括在 Kubelet 中添加 node-ip、删除有问题的 Metrics Server 或降级其版本。
- 修改 Metrics Server 的版本可能解决兼容性问题,建议将其从高版本降级。
❓
延伸问答
为什么无法查看 Kubernetes 中 Pod 的日志?
无法查看 Pod 的日志可能是由于 Kubelet 健康状态或 Metrics Server 问题。
如何测试 Kubelet 的健康状态?
可以通过访问 Kubelet 的健康检查 API,例如使用命令 curl -k https://x.x.x.x:10250/healthz 来测试。
如果无法执行 exec 命令进入 Pod,该怎么办?
如果无法执行 exec 命令,可能是 Kubelet API 获取容器日志失败,需检查 Kubelet 健康状态和 Metrics Server。
如何解决无法查看 Metrics 的问题?
可以尝试删除有问题的 Metrics Server,或检查 Metrics Server Pod 所在节点的指标访问情况。
修改 Metrics Server 的版本有什么作用?
修改 Metrics Server 的版本可能解决兼容性问题,建议将其从高版本降级以恢复功能。
如何在 Kubelet 中添加 node-ip?
在 Kubelet 的配置文件中添加 --node-ip=x.x.x.x,然后重启 Kubelet,x.x.x.x 是主机的 IP 地址。
➡️