当前位置: 首页 > news >正文

一起endpoint迷路的问题排查总结

今天上班,一到工位上,就有同事和我说有客户反映自己的容器的一些指标在监控平台不上报了,我当时一看机器所在的监控,发现确实是这样
在这里插入图片描述
确实存在某个点开始数据就没了,主要这个点当时也没有任何的操作变更,于是就开始开启了排查思路

总结链路:
链路是这个样子
Grafana -> prom -> servicemonitor -> service -> endpoint -> pod(daemonset)

当时发现service也有,endpoint也有,然后访问边缘端的metric接口发现也有数据,但就是 Grafana 上没有数据,排查步骤如下

  1. 确认是部分机器存在丢失,说明整个链路没有彻底断掉,怀疑是这个节点上报存在网络问题

  2. 在机器上ping外网发现没问题

  3. 然后我们查看这个service对应的endpoint,居然发现这个service没有这个endpoint,关键label也能匹配上,这就很奇怪了

  4. 于是我们在找这个 endpoint 的异常,发现一个这个很奇怪的 annotation
    在这里插入图片描述
    然后一排查发现这个就是代表 endpoint 太多超出限制导致被截断了, 确实我们的集群有超过1000个node,导致这个限制被触发了

  5. 查阅资料发现k8s在1.19之前默认的endpoint就只支持1000个,在1.19之后引入了新的CRD:endpointslices,通过分片的方式能够支持1000以上的endpoint;参考这篇技术博客 medium.com

  6. 但是查看我们TKE集群的版本,是1.22版本,也就是已经有了endpointslice,但是这个endpointslice 没有被用上,这就很奇怪了,于是继续排查prometheus

  7. 在网上查询到这样一个 changelog
    在这里插入图片描述
    说明prometheus会自动支持endpointslice的发现,但是我们的集群就是没有,于是紧急拉oncall排查,发现的缺失集群的prometheus的版本太低了,而且机器的数量刚好是1020个,导致有20个机器的指标丢失,没有被service映射到后端的endpoint

http://www.lqws.cn/news/549847.html

相关文章:

  • 浅谈Apache HttpClient的相关配置和使用
  • git add 报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf in position 42
  • SOCKS 协议版本 5 (RFC 1928)
  • 【stm32】HAL库开发——CubeMX配置串口通讯(中断方式)
  • VUE使用过程中的碰到问题记录
  • 自动对焦技术助力TGV检测 半导体检测精度大突破
  • 工作台-02.代码开发
  • Linux信号机制:从入门到精通
  • [Python]-基础篇1- 从零开始的Python入门指南
  • 微调大语言模型(生成任务),怎么评估它到底“变好”了?
  • Python网安-zip文件暴力破解
  • Java:链接mysql数据库报错:CommunicationsException: Communications link failure
  • Coze API如何上传文件能得到文件的file_url
  • 缓解停车难的城市密码:4G地磁检测器如何重构车位资源分配
  • Discrete Audio Tokens: More Than a Survey
  • TensorRT-LLM的深度剖析:关键问题与核心局限性
  • Java-异常类
  • Spearman检验组间相关性及SCI风格绘图
  • MySQL之事务原理深度解析
  • [Python] -基础篇2-Python中的变量和数据类型详解
  • 运营医疗信息化建设的思路
  • 创建一个简单入门SpringBoot3项目
  • 华为云Flexus+DeepSeek征文|高可用部署 Dify 平台构建 Flux 绘画中台 Chatflow 的设计与实现
  • Re:从零开始的文件结构(融合线性表来理解 考研向)
  • 设计模式精讲 Day 15:解释器模式(Interpreter Pattern)
  • LangChain4j(20)——调用百度地图MCP服务
  • Ubuntu系统Postman资源占用高怎么办?
  • Stable Diffusion入门-ControlNet 深入理解 第二课:ControlNet模型揭秘与使用技巧
  • 【软考--软件设计师】2.程序设计语言
  • mongodb生产备份工具PBM