【k8s系列】kube-state-metrics中kube_endpoint_address指标

news2025/1/7 7:11:13

文章目录

    • 背景
    • 环境
    • 操作
      • 方法1:kube_endpoint_address_not_ready选择大于0的
        • 验证方式1
        • 验证方式2
      • 方法2:kube_endpoint_address_available选小于0的
      • 方法3:kube_endpoint_address{ready="false"}选大于0的
    • 解释
    • 参考

author: ningan123
date: 2022-12-27 10:13
updated: 2022-12-27 12:12

背景

想要一个指标来告警k8s中endpoints中没有ip的项

类似于下面图中,有些ep是没有ip的,想要把这些项及时告警,及时处理查看原因

image.png

可以看到,总共有7个ep,有4个是正常的,有3个是异常的(kube-dns、kubernetes-dashboard和metrics-server)

环境

kube-state-metrics版本:v2.6.0

操作

# HELP kube_endpoint_address_available (Deprecated since v2.6.0) Number of addresses available in endpoint.
# TYPE kube_endpoint_address_available gauge

# HELP kube_endpoint_address_not_ready (Deprecated since v2.6.0) Number of addresses not ready in endpoint
# TYPE kube_endpoint_address_not_ready gauge

# HELP kube_endpoint_address Information about Endpoint available and non available addresses.
# TYPE kube_endpoint_address gauge

方法1:kube_endpoint_address_not_ready选择大于0的

总共有7条,大于0的就是异常的

image.png

进而,我们可以看到,kube-dns显示的是3,而kubernetes-dashboard和metrics-server显示的是1,这个是为什么呢?

验证方式1

通过标题背景中的图片可以看到,ep中显示的是ip:port,我们可以看下这几个ep的具体细节:
如下图,kube-dns有1个ip,3个端口;kubernetes-dashboard有1个ip,1个端口;metrics-server有1个ip,1个端口

image.png

image.png

image.png

验证方式2

我们找来另一个集群k2,部署方式和k是一样的。
查看k2的这3个ep,可以看到分别是3、1、1.

image.png

方法2:kube_endpoint_address_available选小于0的

总共有7条,小于0的就是异常的

image.png

nginx那为什么显示的是3呢?
查看该集群,可以看到nginx下面有3项

image.png

方法3:kube_endpoint_address{ready=“false”}选大于0的

因为选择的是ready=“false”,所以显示出来的就是异常的

image.png

我们再选择一下ready=“true”
可以看到有6项,这是为什么呢?
仔细一看,kube_endpoint_address指标加入了ip的label,nginx因为有3个ip,所以被拆成了3项

image.png

解释

v2.6.0加入了新的指标kube_endpoint_address
详情参考:https://github.com/kubernetes/kube-state-metrics/releases

image.png

我们跳到1761,可以看到kube_endpoint_address将替代kube_endpoint_address_available和kube_endpoint_address_not_ready,怪不得用2.6.0采集出来的指标,显示kube_endpoint_address_available和kube_endpoint_address_not_ready Deprecated since v2.6.0呢

详情见:https://github.com/kubernetes/kube-state-metrics/pull/1761

image.png

结束~

寄语:你走的每一步都算数!

参考

https://github.com/kubernetes/kube-state-metrics/releases
https://github.com/kubernetes/kube-state-metrics/pull/1761

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分+微序幕就此拉开之RocketM消息中间件~整起

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 RocketMQ一、RocketMQ概念~一览无余1.消息队列有啥用?能干啥?消息队列的应用场景?2.常见的消息队列有哪些?如何进行消息队列的…

2、MySQL支持的数据类型

目录 1、整数类型 (1)fillzero:根据整数类型的长度自动添加0 (2)unsigned:非负整数 (3)bin(m):将十进制数转为m进制 2、日期时间类型 &#x…

【MySQL基础教程】函数的介绍与使用

前言 本文为 【MySQL基础教程】函数的介绍与使用 相关知识,下边具体将对字符串函数,数值函数,日期函数,流程函数等进行详尽介绍~ 📌博主主页:小新要变强 的主页 👉Java全栈学习路线可参考&…

MAXHUB+腾讯会议:为未来办公造一部动力引擎

科技领域有个规律,我们经常高估一年的变化,而低估了十年或者更长时间所可能发生的变化。不信可以做个测试,你觉得未来线上办公会怎么发展?不少朋友会说,既然线上办公是疫情到来之后的PlanB,那么随着疫情结束…

【STM32F4系列】【HAL库】【自制库】ps2手柄模块驱动

外观和电气连接 外观 手柄外观如下 接收器外观 这是接收器和底座 电气连接 需要4根连接线 单片机输出是CLK DO CS 单片机输入是DI 电源电压是3.3-5v 注意模块和单片机共地 模块不支持高速,最大时钟周期约为4us左右 因此使用软件模拟时序的方式来与模块通信 只需要将模块的4根线…

Golang Context 的几种应用场景

Golang context主要用于定义超时取消,取消后续操作,在不同操作中传递值。本文通过简单易懂的示例进行说明。 超时取消 假设我们希望HTTP请求在给定时间内完成,超时自动取消。 首先定义超时上下文,设定时间返回取消函数&#xff…

Apache POI操作百万数据excel实战方案及JDK性能监控工具Jvisualvm实战

百万数据报表概述 文章目录**百万数据报表概述****1、** **概述****2、 JDK性能监控工具介绍****2.1、 Jvisualvm概述****2.2、 Jvisualvm的位置****2.3、 Jvisualvm的使用****3、** **解决方案分析****4**、**百万数据报表导出****4.1** **需求分析****4.2** **解决方案****4.…

玩转门店管理新方法,促进营收利润加倍

门店管理的好坏是门店是否可以运营下去的重要因素,决定了门店的存亡与兴衰。以往很多门店管理者为了更简单方便,采用的是传统方式进行管理。即运用手工的方式记录和计算门店的各种信息。但是随着门店规模的扩大、商品种类的丰富、客户需求的增加以及员工…

普惠微光汇聚暖阳,招联携手奋斗者筑梦前行

撰稿 | 多客 来源 | 贝多财经 近年来,受疫情反复带来的经济下行压力,收入减少生活难以保障成了社会一大难题。值此艰难时刻,一大批爱心企业出资出力,纷纷用实际行动诠释企业的使命和担当。口罩、防护服、矿泉水、食品、药物、免费…

vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)

vue-cli区分办法 vue配置生产环境.env.production、测试环境.env.development vue配置webpack生产环境、测试环境 在使用webpack创建完vue2项目的时候,为了解决生产打包、测试打包对应的全局变量不一致的问题。 首先看一下package.json的改动: "…

MARL算法系列(1):IQL【原理+代码实现】

原文题目:Multiagent cooperation and competition with deep reinforcement learning 作者:Tampuu, Ardi and Matiisen, Tambet and Kodelja, Dorian等 发表时间:2017年 主要内容:相互独立的两个DQN智能体,竞争任务下…

2022年威胁隐私和安全的数个“罪魁祸首”

随着互联网技术的不断发展,我们对网络的信任也在不断增加,甚至将自己的私人数据委托给各种在线平台,如个人数字身份信息、银行账户、各种机密信息。网络一方面的确带来变革型的进步,但另一方面,频频曝光的数据泄露事件…

VueJs中setup的使用(下)

前言在Vue当中,父组件想要向子组件传值,是通过在父组件标签上通过自定义属性实现的,而在子组件中是通过props进行接收在Vue2.0里面,在子组件中的选项式API配置项选项中props进行接收就可以了的,在子组件中的模板中可以直接使用但在Vue3里面与Vue2.0存在一些差异,这个主要是针对…

excel文件管理:如何进行密码保护和破解? 下篇

在上篇文章中,我们提到了设置工作簿的打开权限密码、修改权限密码、保护工作簿的密码、允许编辑区域的密码,并且讲到了两种破解excel密码的方式。今天,我们书接上回,继续讲解excel中常见的密码保护和破解方式,一起来看…

浅谈屏幕适配

文章目录1. 概述2. 屏幕尺寸3. 屏幕分辨率4. 屏幕像素密度5. dp、sp、px6. mdpi、hdpi、xdpi..7. 屏幕分辨率限定符8. 最小宽度限定符8.1 获取设计图最小宽度(dp)8.2 生成对应的dimens.xml文件8.3 尺寸限定符8.4 其它9. 今日头条相关9.1 系统状态栏获取不对问题9.2 autosize1. …

Elasticsearch8.X入门实战(二)Elasticsearch集群架构

Elasticsearch集群由一个或多个节点(服务器)组成,这些节点一起保存Elasticsearch的所有数据,并提供跨所有节点的联合索引和搜索功能。集群由一个唯一的名称来标识,该名称默认为“elasticsearch”(可以在配置文件中修改)。当某个节点被设置为相同的集群名称时,该节点才能…

Docker容器的简单介绍与使用

前言:大家好,我是小威,24届毕业生,曾经在某央企公司实习,目前入职某税务公司。本篇文章将记录和分享docker容器相关的知识点。 本篇文章记录的基础知识,适合在学Java的小白,也适合复习中&#x…

如何更好地进行 Android 组件化开发——路由原理篇

前言 组件化开发的会实现代码隔离,在开发时访问不到模块的代码,降低代码耦合度。那么如何跳转组件的页面、如何进行组件间的通信是个问题。这通常会使用到 ARouter、TheRouter、WMRouter 等路由框架。可能有不少人只知道怎么去调用,并不知道…

Pod内容详情梳理

本篇是笔者的一篇读书笔记,用于梳理pod的详情,方便理解和学习,也方便后续自己查询。一、Pod的概述Pod是k8s里面典型的CR,从它的元数据来看,具有所有CR的基本数据构成,分别是 version、kind,以及…

迅为RK3568开发板支持多屏同显/异显动态方案

iTOP-RK3568开发板采用四核Cortex-A55处理器,芯片内置VOP控制器,支持HDMI、LVDS、MIPI、EDP四种显示接口的多屏同显、异显和异触,可有效提高行业定制的拓展性。 三屏同显: 三屏异显: 双屏同显: 双屏异显&am…