据Sysdig发布的容器报告,容器以及如Kubernetes等编排工具的使用增长了51%以上,大家开始将工作负载在集群中进行托管并管理。鉴于集群中短暂的状态,对于端到端的集群有一个十分重要的需求,即能够详细监控节点、容器以及pod。
IT工程师需要管理应用程序、集群(节点和数据),并且需要减少手动配置service、目标和数据存储的工作量,同时在应用程序每次关闭和返回时进行监控。这就需要一个无缝部署以及管理高可用监控系统(如Prometheus),其中可以与Operator一起处理抓取目标的动态配置、服务发现以及用于告警集群中各种目标的配置规则。同时,使用Operator模式编写代码以减少人工干预。
本文,我们将关注Prometheus Operator是如何工作的,service monitor在Prometheus Operator中是如何发现目标和获取指标的。
在集群监控中Prometheus Operator所扮演的角色
-
能够使用原生Kubernetes配置选项无缝安装Prometheus Operator
-
能够在Kubernetes命名空间中创建和摧毁一个Prometheus实例,某个特定的应用程序或者团队能够轻松地使用Operator
-
能够预配置配置文件,包括Kubernetes资源的版本、持久性、保留策略和replica
-
能够使用标签发现目标service,并根据熟悉的Kubernetes标签查询自动生成监控目标配置。
例如:当pod /service销毁并返回时,Prometheus Operator可以自动创建新的配置文件,无需人工干预。
在Operator模式下所需的组件
-
Custom Resource Definition(CRD):创建一个新的自定义资源,包括可指定的名称和模式,无需任何编程。Kubernetes API提供和处理自定义资源的存储。
-
自定义资源:扩展Kubernetes API或允许将自定义API引入kubernetes集群的对象。
-
自定义控制器:以新的方式处理内置的Kubernetes对象,如Deployment、Service等,或管理自定义资源,如同管理本机Kubernetes组件
-
Operator模式(适用于CRD和自定义控制器):Operator基于Kubernetes资源和控制器增加了允许Operator执行常见应用程序任务的配置。

Operator的工作流程
Operator在后台执行以下操作以管理自定义资源:
1、CRD创建:CRD定义规范和元数据,基于该规范和元数据应创建自定义资源。当创建CRD的请求时,使用Kubernetes内部模式类型(OpenAPI v3模式)验证元数据,然后创建自定义资源定义(CRD)对象

最低0.47元/天 解锁文章
1001

被折叠的 条评论
为什么被折叠?



