偶尔会有用户反馈 ingress 服务访问不通的问题,本文旨在帮助快速定位问题
tke ingress 支持两种模式: node port 和 直连模式
CLB 简介 : 负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台云服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
二、 快速排查步骤及解决方法
1、 pod 状态和服务状态 --> 2、 查看ep 状态 --> 3、查看svc状态 (node port 和cluster ip 两种场景) --> 4、查看 clb状态
kubectl get pod -n {namespaces} -o wide
kubectl describe pod -n {namespaces}
如果pod 状态异常, 解决pod 问题再测试
源访问端
telnet {pod ip} {pod port}
a 如果pod 端口不通:
到pod 所在的node节点上telnet
telnet {pod ip} {pod port}
b 如果还是不通, 查看
kubectl describe ep {ep-name} -n {namespaces}
查看pod 是否ready
kubectl describe pod -n {namespaces} {pod-name}
kubectl get event -n {namespaces}
查看svc 和workload/pod yaml 文件label/select 是否一致
kubectl get svc -o yaml -n {namespaces} {svc-name}
kubectl get pod -o yaml -n {namespaces} {pod-name}
telnet {node-ip} {node-port}
telnet {cluster-ip} {port}
如果3.1或者3.2 不通, 查看node 节点kube-proxy ,iptables/ipvs 是否正常
查看clb rs 状态是否正常:
kubectl get ing {ingress name} -n {namespaces} -o yaml |grep qcloud-loadbalance-id
如果不正常, 查看 ingress controller 服务是否异常
根据ingress controller log 进行分析
kubectl get pod -n kube-system |grep l7-lb-controller
根据ingress controller log 进行分析
kubectl logs l7-lb-controller-xxxx-xxxx -n kube-system |grep {ingress name}
kubectl logs l7-lb-controller-xxxx-xxxx -n kube-system |grep {clb-id}
工具 |
---|
telnet |
kubectl |
tcpdump |
查看腾讯云官网控制台CLB信息 |
ingress controller |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。