千家信息网

集群网络监控工具KubeNurse怎么用

发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,今天给大家介绍一下集群网络监控工具KubeNurse怎么用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。地址Kuben
千家信息网最后更新 2024年09月24日集群网络监控工具KubeNurse怎么用

今天给大家介绍一下集群网络监控工具KubeNurse怎么用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

地址

Kubenurse:https://github.com/postfinance/kubenurse

简介

在 Kubernetes 集群运行中,一个常见故障就是集群内网络故障,经常会因为临时策略变更或者网络抖动导致一些古怪问题,而实际场景里的虚拟机和网络的监控经常是由其它部门管理的,如果从业务和 Kubernetes 这样的上层设施着手,可能需要一些时间才能解决问题。kubenurse 项目使用 HTTP 检测的方式提供了常用的几个监控指标。

这个工具的实现也很直接,用 Daemonset 的形式部署在每个集群节点上,每个 Pod 都会通过 HTTP 检测的方式对上述几种目标分别进行访问,最后用 Prometheus Summary 指标的形式暴露出来用于监控。检测机制如图所示:

每个 Pod 都开放了 8080 的 http 端口,包含以下端点:

  • / 或者 /alive

    返回本节点信息

  • /alwayshappy

    返回 HTTP 200 用于心跳

  • /metrics

    暴露 Prometheus 指标数据

/alive 返回的节点信息如下:

{
"api_server_direct": "ok",
"api_server_dns": "ok",
"me_ingress": "ok",
"me_service": "ok",
"hostname": "kubenurse-1234-x2bwx",
"neighbourhood_state": "ok",
"neighbourhood": [
{
"PodName": "kubenurse-1234-8fh3x",
"PodIP": "10.10.10.67",
"HostIP": "10.12.12.66",
"NodeName": "k8s-66.example.com",
"Phase": "Running"
},
{
"PodName": "kubenurse-1234-ffjbs",
"PodIP": "10.10.10.138",
"HostIP": "10.12.12.89",
"NodeName": "k8s-89.example.com",
"Phase": "Running"
}
],
"headers": {
"Accept": [
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
],
"Accept-Encoding": [
"gzip, deflate, br"
],
...
}
}

可以看到,其中包含了上述所说的几个检测结果。

部署

源码中包含了一个 example 目录,简单地 kubectl apply 就可以完成部署,这里有两个可能需要修改的地方:

  1. 缺省命名空间是 kube-system,建议查找替换,并要注意调整 RBAC 授权。

  2. 涉及 Ingress 检测,因此要注意提供正确的域名。

监控

部署成功之后,Prometheus 会根据 Daemonset 中的注解采集数据:

...
annotations:
prometheus.io/path: "/metrics"
prometheus.io/port: "8080"
prometheus.io/scheme: "http"
prometheus.io/scrape: "true"
...

访问任意 Pod 的 :8080/metrics 端点,会看到如下指标:

  • kubenurse_errors

    如果检测过程中出现错误,这个计数器会进行累加。

  • kubenurse_request

    一个 Summary 类型的指标,正常检测结果的时间消耗分布。

这两个指标使用 type 标签对结果进行标识,对应几种不同的检测目标:

  • api_server_direct

    从节点直接检测 API Server

  • api_server_dns

    从节点通过 DNS 检测 API Server

  • me_ingress

    通过 Ingress 检测本服务 Service

  • me_service

    使用 Service 检测本服务 Service

  • path_$KUBELET_HOSTNAME

    节点之间的互相检测

如此一来,我们就可以根据各种延迟时间的分布情况,以及返回错误的数量来确认集群网络状况了。

注意

节点较多时,每次采集可能会产生 n*(n-1) 次访问,会造成较重负载,可以给 Pod 打标签,并使用标签过滤的方式来减少请求,但是这样一来,就会导致检测结果不够全面的问题,因此还需对实际应用进行权衡。

以上就是集群网络监控工具KubeNurse怎么用的全部内容了,更多与集群网络监控工具KubeNurse怎么用相关的内容可以搜索之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下!

检测 网络 集群 监控 节点 指标 工具 结果 网络监控 内容 文章 方式 时间 标签 问题 一来 两个 信息 实际 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库计算机应用基础 数据库查询排除命令 肇庆商城软件开发方案 杭州网络技术服务有限公司 杨浦区专业软件开发平均价格 红塔区顶峰软件开发工作室 艺术之家数据库易水金 南京物流软件开发中心 软件开发专业考研科目有哪些 土工数据库 雷霆之王服务器盗贼 VB软件开发步骤 淘宝评价数据库在哪 db数据库查询修改 网络技术有限公司需要什么资质 一招网络技术有限公司 数据库中修改数据表结构的命令 计算机网络技术毕业科技论文 互联网科技加工项目 苹果6邮箱发件服务器 基因表达差异分析的数据库 创建和维护数据库实验总结 中班网络安全教育完整教案 服务器防火墙有问题怎么处理 网络安全责任制 检查考核 陇南市网络安全教育平台 网络安全政策沟通会 深圳市升途网络技术有限公司 天猫店做软件开发的多吗 网络安全技术月工资多少
0