k8s ingress访问响应慢的问题(阿里云环境)

一、故障原因

   生产环境采用的是ingress,对接阿里云SLB,但出现了多次访问服务就会有一次响应特别慢的故障,记录一下处理方法。

   后端ingress的pod 上进行抓包,抓一下ingress的网络流量,多访问复现几次问题,看看从ingress pod 的网络抓包里看看能否看到访问超时的情况,从网络连接方面分析。

二、处理办法(查询ingress的pod)

1、 可以先执行kubectl get pods podname -n 命名空间 -o wide看看pod运行的节点。
2、 登录到对应的node上,执行 docker ps|grep pod名称找到容器ID,然后在执行 docker inspect -f {{.State.Pid}} 容器id 找到容器的进程pid。
3、 给节点做个快照备份,执行yum -y install util-linux.x86_64 安装下 nsenter工具,然后执行 nsenter --target 容器pid -n 进入到容器的网络名称空间,通过tcpdump -i eth0 -s 0 -w /var/tmp/1.cap 抓包。用Wireshark分析发现有超时现象。(找会网络的同事分析)

#查询内核参数值
sysctl -a --pattern=tcp_tw_recycle
#设置内核参数
sysctl -w net.ipv4.tcp_tw_recycle=0
#绝对路径
#永久有效
echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle
sysctl -p

三、问题原因

  使用的是阿里云的VPC网络,客户端有三台都是走的同一个IP的NAT网关出公网,数据包通过NAT网关后源IP会变成NAT地址,如果服务端开启了net.ipv4.tcp_tw_recycle=1(tcp快速回收),数据包到达服务端后发出的TPC/IP时间戳不连续,服务端就会识别错乱丢弃连接;

  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页
评论

打赏作者

-________-'

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值