kubernetes故障排查之网络故障

一、背景:

        现象:登录服务后,无法显示页面内容,随意点击按钮,请求失败,F12进行调试,网络接口返回504

二、排查思路:

1.1 、查看集群服务状态是否正常

kubectl get po -A | grep -v Completed | grep 0/

 服务正常

1.2、 根据状态码,查看网关日志

kubectl logs -f gateway-nginx --tail=100 -n default  

 日志记录大量服务路由报错,结合服务状态思考,可能是网络方向的问题

1.3、查看集群node节点和pod节点的网络

kubectl get nodes -o jsonpath='{range .items[*]}[name:{.metadata.name} , podCIDR:{.spec.podCIDR} , ipaddr:{.status.addresses[0].address}]{"\n"} {end}'

1.4、根据pod网络定位到node网络

ping pod_id

1.5、定位问题;若服务器禁ping,则使用CoreDNS进行解析

kubectl get pods -n kube-system -o wide | grep coredns| awk '{print $6}' | xargs -l nslookup -type=a kubernetes.default.svc.cluster1.local

三、原因可能性分析

3.1 net.ipv4.ip_forward检查是否正常

        sysctl --system | grep 'ip_forward'

参数说明:

主机是否开启路由转发,0不开启,1为开启。k8s集群内主机必须开启

    3.2 flannel服务或者flannel网卡状态

     flannel是k8s 内部网络解决方案之一,简单来说,功能就是让集群中不同节点主机建立的docker容器都具有全集群唯一的虚拟IP ,而且还能在这些容器 pod的IP地址之间建立覆盖网络overlay,通过overlay网络,将不同的POD数据包传递给集群内其他的目标主机

3.3 安全软件导致集群网络异常

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值