Kubernetes operator
是 Kubernetes 特定的应用程序(pod),可以自动配置、管理和优化其他 Kubernetes 部署。它们被实现为自定义控制器。
根据coreOS官方网站:
算子是CoreOS引入的一类软件,可以操作其他软件,将人类收集到的操作知识放到软件中。
prometheus operator 提供了一种在 kubernetes 集群上部署配置和监控 prometheus 实例的简单方法。为此,prometheus operator 在 kubernetes 中引入了三种类型的自定义资源定义(CRD)。
- 普罗米修斯
- 警报管理器
- 服务监控
现在,借助上述 CRD,您可以通过提供直接创建一个 prometheus 实例,kind: Prometheus
并且该 prometheus 实例已准备好服务,同样您可以为AlertManager
. 如果没有这个,你将不得不为 prometheus 设置部署,包括它的镜像、配置和更多的东西。
Prometheus Operator 的作用是让在 Kubernetes 上运行 Prometheus 尽可能简单,同时保留 Kubernetes 原生配置选项。
现在,kube-prometheus 实现了 prometheus 操作符,并为您提供最少的 yaml 文件来创建您的基本设置prometheus
,alertmanager
并grafana
通过运行单个命令。
git clone https://github.com/coreos/prometheus-operator.git
kubectl apply -f prometheus-operator/contrib/kube-prometheus/manifests/
通过在 kube-prometheus 目录中运行上述命令,您将获得一个monitoring
命名空间,该命名空间将具有 alertmanager 的实例,prometheus
并grafana
用于 UI。这对于大多数基本实现来说已经足够了,如果您需要根据您的应用程序的更多细节,您可以添加更多您需要的导出器 yaml。
kube-prometheus 更多的是对 prometheus-operator 项目的贡献,它很好地实现了 prometheus 操作符功能,并为您的 kubernetes 集群提供了完整的监控设置。您可以从 kube-prometheus 开始,并根据您的应用程序从那里扩展监控设置的功能。
您可以在此处了解有关 prometheus-operator 的更多信息