我有一个Kubernetes部署,其中包含一个非常简单的Spring Boot Web应用程序。我正在尝试从外部连接到此应用程序的随机超时。
有些请求会立即返回,而其他请求会暂停几分钟。
我无法在日志中看到任何问题。
当直接连接到pod时,我能够curl
该应用程序并立即得到响应,因此感觉更像是一个网络问题。
我还有其他应用程序在同一个集群中运行相同的配置,但没有遇到任何问题。
我对Kubernetes还很新,所以我的问题是:
我应该在哪里以及如何诊断网络问题?
如果有帮助,可以提供更多信息。
答案 0 :(得分:1)
您已将问题范围缩小到网络,这意味着群集的组件是健康的,例如 Kubelet,Kube-proxy 等。
您可以使用systemctl实用程序检查其状态。例如
systemctl status kubelet
systemctl status kube-proxy
您可以使用journalctl实用程序获取更多详细信息。例如
journalctl -xeu kubelet
journalctl -f -u docker
现在如果您想知道数据包的命运,那么您需要使用iptables实用程序。它是决定数据包(传入或传出数据包)的转发,路由和判定的人。
我的行动计划是不做出任何假设。我按照以下实用程序来解决疑虑。
Kubectl
Kubectl描述pod / svc podName / svcName
systemctl
如果我仍然无法解决问题,那就意味着我做了一个假设。
请让我知道我希望将其放在我的实用程序集上的任何其他工具