kubernetes 集群
在生产中运行Kubernetes集群是一项艰巨的任务,其中包含许多活动部件。 密切关注所有这些不同部分并非易事。 更糟糕的是,Kubernetes分布很广,并且经常自我修复。 如果集群中出现问题,则可能是断断续续的(或足够具体的),以致在很长一段时间内都不会出现损坏。 当然,在这段时间内,您的客户或开发人员的体验可能会下降或完全崩溃。
可能长期未引起注意的一些偷偷摸摸的事情的例子:
传统的指标和警报不足以准确地识别这些类型的故障情况,但是这些问题会导致Pod不能安排时间,滚动更新挂起,DNS查询被错误回答,流量无法正确地负载均衡以及许多很多更糟糕的事情。 显然,需要额外的监视源,以深入了解Kubernetes的功能,以清晰呈现集群的运行状况。
Comcast创建和使用的开源项目Kuberhealthy使Kubernetes的综合监视变得更加容易。 Kuberhealthy除其他外,每15分钟对群集进行一次检查,以确保每个节点都可以在可接受的时间内正确部署和拆除Pod。 这个简单的测试可确保集群调度程序,Kubernetes API和CNI设置功能正常运行。这些检查的结果可以轻松地作为Prometheus度量标准提供或监视,也可以通过刮刮Kuberhealthy提供的简单JSON状态页面来进行。 Kuberhealthy的README中提供了更多设置详细信息和检查信息。
由于Kubernetes及其服务具有自我修复和分布式的特性,因此生产Kubernetes集群中的许多问题很可能在很长一段时间内都未被发现和未知。 通过启用一些简单的综合检查,我们有更好的机会在客户或开发人员注意到之前,在我们的基础架构中捕获此类短暂的和范围有限的干扰。
kubernetes 集群