工作负载网络异常时,如何定位排查?
负载均衡( LoadBalancer )可以通过弹性负载均衡从公网访问到工作负载,与弹性IP方式相比提供了高可靠的保障,一般用于系统中需要暴露到公网的服务。
负载均衡访问方式由公网弹性负载均衡ELB服务地址以及设置的访问端口组成,例如“10.117.117.117:80”,详情请参见负载均衡 ( LoadBalancer )。
排查思路
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
排查项一:容器+容器端口
在CCE控制台界面或者使用kubectl命令查找pod的IP,然后登录到集群内的节点或容器中,使用curl命令等方法手动调用接口,查看结果是否符合预期。
如果容器IP+端口不能访问,建议登录到业务容器内使用127.0.0.1+端口进行排查。
常见问题:
- 容器端口配置错误(容器内未监听访问端口)。
- URL不存在(容器内无相关路径)。
- 服务异常(容器内的业务BUG)。
排查项二:节点IP+节点端口
只有发布为节点访问(NodePort)或负载均衡(LoadBalancer )的服务才能通过节点IP+节点端口进行访问。
- 节点访问(NodePort)类型:
节点的访问端口就是节点对外发布的端口。
- 负载均衡(LoadBalancer )类型:
负载均衡的节点端口通过“编辑YAML”可以查看。
如下图所示:
nodePort: 30637为节点对外暴露的端口,targetPort: 80为容器对外暴露的端口,port: 123为ELB对外暴露的端口。
找到节点端口后,使用容器所在节点的IP地址+端口进行访问,并查看结果是否符合预期。
常见问题:
- 节点的入方向对业务端口未放通。
- 节点配置了自定义路由,并且配置错误。
- pod的label与service的label不匹配(kubectl或API创建)。
网络异常 所有常见问题
- 工作负载网络异常时,如何定位排查?
- 集群内部无法使用ELB地址访问负载
- 添加Ingress失败或无法正常访问
- 为什么访问部署的应用时浏览器返回404错误码?
- 为什么容器无法连接互联网?
- VPC的子网无法删除,怎么办?
- 如何修复出现故障的容器网卡?
- 节点无法连接互联网(公网),如何排查定位?
- 如何解决VPC网段与容器网络冲突的问题?
- ELB四层健康检查导致java报错:Connection reset by peer
- Service事件:Have no node to bind,如何排查?
- 为什么登录虚拟机VNC界面会间歇性出现Dead loop on virtual device gw_11cbf51a, fix it urgently?
- 集群节点使用networkpolicy概率性出现panic问题
- 节点远程登录界面(VNC)打印较多source ip_type日志问题
more
