如何5招搞定Kubernetes监控

服务器 云计算
如果你位于DevOps前线,Kubernetes正在迅速成为你的生产云环境的重要组成部分。由于容器编排对于部署、伸缩和管理容器化应用程序至关重要,监控Kubernetes需要成为监控策略的重要组成部分。

如果你位于DevOps前线,Kubernetes正在迅速成为你的生产云环境的重要组成部分。由于容器编排对于部署、伸缩和管理容器化应用程序至关重要,监控Kubernetes需要成为监控策略的重要组成部分。

容器环境的运行与传统环境不同。因此,如果你正在监控应用程序和基础设施,你需要考虑如何监控运行它们的容器环境。这里有可供参考的5个***实践:

1.集中日志和指标。通过Kubernetes编排你的容器化服务和工作负载会带来秩序,但请记住,你的环境仍然是分散的。如果你集中你的日志和指标,处理起来会容易得多。

2.考虑ephemeral容器。容器编排的美妙之处在于它可以很容易地在短时间内启动、停止、杀死和清理容器。但是,监控它们可能并不容易。即使服务正在进行,你仍然需要调试问题并监控集群活动。诀窍是在日志和指标消失之前获取。如果你不这样做,你的指标看起来更像左边的图,而不是右边的图。

3.简化,简化,简化。对于容器环境中的所有移动部分(服务、API、容器、编排工具),你需要进行监控而不会引入不必要的复杂性。不是使用各种监控代理来扩展容器,而是要从你监控和管理的内容中抽象出监控和管理工具。这也将帮助你的工程师专注于构建和交付软件,而不是运维交付平台。

4.明确监视每一层。你需要收集日志并监控环境中各层的错误、故障和性能问题(pod\容器和控制器管理器)。例如,你需要能够进行pod故障排除,确保容器正常运行,并在控制器管理器中收集运行时指标。

5.确保跨层的数据一致性。为了快速准确地调试,你需要确保容器环境中跨所有层的数据一致性。诸如准确的时间戳、一致的测量单位(如毫秒数与秒数)以及在应用程序和组件中收集常用的一组指标和日志,将帮助你快速准确地对所有层进行故障排除和调试。

以简单直接的方式完成这些待办事项的***做法是,监控Kubernetes环境中的容器,而不触碰应用程序容器。通过将DaemonSet或sidecar引入与容器化服务并列并包含日志记录和指标收集代理的Kubernetes环境中,可以实现这一目的。使用此方法进行部署将确保数据收集的一致性,***限度地减少应用程序容器所需的更改,最重要的是,消除生产环境中盲目选择的可能性。

几种实现方法包括:

1.使用带有Fluentd日志记录代理的DaemonSet(这会为你提供日志记录而不是指标)。如果你已经有了配置好的ELK集群,这是一个选择。

2.使用带有Prometheus指标代理的DaemonSet或sidecar(CoreOS在集成Prometheus和Kubernetes方面做得非常出色)。在你的Kubernetes集群上运行Prometheus将为你提供指标检测、查询和警报。

3.许多指标和性能监控工具,包括Heapster、DataDog、cAdvisor、New Relic、Weave / VMware,也提供了用于Kubernetes监控的DaemonSet或sidecar选项。

责任编辑:武晓燕 来源: K8S技术社区
相关推荐

2021-04-14 10:27:53

采购IT专业人CIO

2010-09-09 08:16:32

2010-09-10 10:22:22

Trojan.DL.S

2017-09-26 10:51:55

提高数据库性能

2022-11-24 09:55:12

Kubernetes监控

2020-12-09 10:32:24

日志监控日志

2021-08-21 23:33:16

iOS苹果系统

2019-04-19 14:54:10

2010-08-25 15:24:13

职业定位

2023-10-09 22:44:51

调试代码

2018-06-14 09:28:46

2022-09-06 11:53:00

开发计算

2009-08-07 12:12:00

C#读取Excel文件

2011-05-06 13:33:12

打印机打印故障

2020-08-03 08:00:11

云计算主数据管理MDM

2015-03-10 11:34:22

SQL Server数据汇总ROUPBY

2017-11-27 10:19:00

2010-03-16 08:59:45

Windows 7纯净版安装

2009-11-10 09:11:46

2021-03-11 14:33:28

Kubernetes开源容器
点赞
收藏

51CTO技术栈公众号