前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s集群curl service的ip延迟响应高

k8s集群curl service的ip延迟响应高

作者头像
SY小站
发布2020-06-15 15:27:30
1.6K0
发布2020-06-15 15:27:30
举报
文章被收录于专栏:SY小站的专栏SY小站的专栏

1. 问题描述

qq群的小伙伴,在昨天提了个问题,说在master节点上curl service的ip不通,故写下排查问题的过程。

2. 解决过程

首先想到的是,master节点安没安装kube-proxy,小伙伴已确认安装,并说curl了一会能通,但是很慢。

2.1 查kube-proxy日志

代码语言:javascript
复制
可以看到报错有timeout情况,应该只是时间过长

2.2 通过curl命令观察具体时间

代码语言:javascript
复制
curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" "ip地址"

小伙伴回答超时时间为63s,看到63s我就想到ipvs tcpfin的等待时间默认为2分钟,一般会多等3s,正好达到这个timeout超时的时间。后经过确认,他用的是iptables模式,但是集群已经是k8s1.18的版本了,故换下ipvs试一下。

2.3 小伙伴修改iptables模式为ipvs

换完ipvs后,发现kube-proxy还有报错。

通过 kube-proxy Pod 的日志可以看到,里面有很多 Error 级别的日志信息,根据关键字 IPVSparseIP Error 可知,可能是由于 IPVS 模块对 IP 进行格式化导致出现问题。

因为这个问题是升级到 kubernetes 1.18 版本才出现的,所以去 Kubernetes Github 查看相关 issues,发现有人在升级 Kubernetes 版本到 1.18 后,也遇见了相同的问题,经过 issue 中 Kubernetes 维护人员讨论,分析出原因可能为新版 Kubernetes 使用的 IPVS 模块是比较新的,需要系统内核版本支持,小伙伴使用的是 CentOS 系统,内核版本为 3.10,里面的 IPVS 模块比较老旧,缺少新版 Kubernetes IPVS 所需的依赖。

3. 问题解决

将iptables模式换为ipvs,并内核升级为4.4以上,问题解决。

参考链接

  • http://www.mydlq.club/article/78/#wow11
  • https://blog.csdn.net/ywq935/article/details/84952724
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SY技术小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 问题描述
  • 2. 解决过程
  • 2.1 查kube-proxy日志
  • 2.2 通过curl命令观察具体时间
  • 2.3 小伙伴修改iptables模式为ipvs
  • 3. 问题解决
  • 参考链接
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档