使用 Kuberhealthy 进行 Kubernetes 集群的综合监控

了解更多关于 Kubernetes 的综合测试。
129 位读者喜欢这篇文章。
arrows cycle symbol for failing faster

Opensource.com

在生产环境中运行 Kubernetes 集群是一项庞大的工程,涉及许多活动的部件。监控所有这些不同的部件绝非易事。更糟糕的是,Kubernetes 非常分布式且通常具有自我修复能力。如果您的集群中出现问题,它可能是间歇性的(或足够具体的),以至于您在相当长一段时间内都不会发现故障。当然,在那段时间里,您的客户或开发人员可能会遇到体验降级或完全崩溃的情况。

一些可能长期被忽视的隐蔽问题的示例

  • CNI 代理崩溃
  • 节点由于托管在其上的嘈杂 Pod 引起的速率限制而被 API 服务器阻止
  • Kubelet 间歇性崩溃
  • 间歇性的 Kubernetes API 连接问题
  • kube-dns 或 CoreDNS 的单 Pod 故障

传统的指标和警报不足以准确识别这些类型的故障情况,但这些问题可能导致 Pod 无法调度、滚动更新挂起、DNS 查询回答不正确、流量负载均衡不当以及许多许多更糟糕的事情。显然,需要额外的监控来源来深入了解 Kubernetes 的功能,从而清晰地呈现集群的健康状况。

幸运的是,借助 Comcast 创建和使用的开源项目 Kuberhealthy,Kubernetes 的 综合监控 的设置变得更加容易。Kuberhealthy 的功能之一是每 15 分钟对您的集群运行一次检查,以确保每个节点都可以在可接受的时间内正确部署和删除 Pod。这个简单的测试确保了集群调度器、Kubernetes API 和 CNI 供应功能正常运行。

这些检查的结果可以轻松地作为 Prometheus 指标提供和监控,或者通过抓取 Kuberhealthy 提供的简单 JSON 状态页面进行监控。更多设置细节和检查信息可在 Kuberhealthy 的 README 中找到。

由于 Kubernetes 及其服务的自我修复和分布式特性,生产 Kubernetes 集群中的许多问题可能会在很长一段时间内被忽视和未知。通过启用一些简单的综合检查,我们更有可能在客户或开发人员注意到之前,捕获基础设施中这些短暂且范围有限的干扰。

标签
User profile image.
Comcast 在西雅图的首席云工程师,专注于 Kubernetes 和可扩展基础设施。Kuberhealthy、Flaggy 等的创建者。https://ericgreer.info/

1 条评论

有兴趣学习 k8s

© . All rights reserved.