Kubernetes排除服务故障
文章目录
前言
如果无法通过服务访问pod,应该根据下面的列表进行排查:
- 首先,确保从集群内连接到服务的集群IP,而不是从外部;
- 不要通过ping服务的IP来判断服务是否可以访问(服务的集群IP是虚拟IP,是无法ping通的);
- 如果已经定义了就绪探针,请确保它返回成功;否则该pod不会成为服务的一部分;
- 要确认某个容器是服务的一部分,使用kubectl get endpoints 来检查响应的端点对象;
- 如果尝试通过FQDN或其中一部分来访问服务(例如:myservice.mynamespace.svc.cluster.local或myservice.namespace),但并不起作用,查看是否可以使用其集群IP而不是FQDN来访问服务;
- 尝试直接连接到pod IP以确认pod正在接收正确端口上的连接;
- 如果甚至无法通过pod的IP访问应用,确保应用不是仅绑定到本地主机;
内容摘自《Kubernetes in Action》