我有一个包含非常简单的春季启动Web应用程序的Kubernetes部署。我正在经历随机的超时,试图在外部连接到此应用程序。
有些请求立即返回,而另一些请求持续了几分钟。
我看不到日志中的任何问题。
直接连接到POD时,我能够立即进行curl
并立即获得响应,因此感觉更像是一个网络问题。
我还具有其他应用程序,其在同一集群中运行的相同配置都没有问题。
我仍然是Kubernetes的新手,所以我的问题是:
我应该在何处以及如何诊断网络问题?
可以提供更多信息。
当您将问题缩小到网络时,这意味着集群的组成部分是健康的,例如 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
- 日记
- etcdctl
- 卷曲
- iptables
如果我仍然无法解决问题,则意味着我已经假设了。
请让我知道我想将其放在公用事业集