Prometheus 服务发现:多种方式解析与实践
1. 容器编排器与服务发现
容器编排器是获取服务运行信息(运行的服务及其位置)的理想选择,因为管理这些信息正是它们的职责所在。Prometheus 的发现机制支持一些广泛使用的容器编排平台,如 Kubernetes 和 Marathon(用于 Mesos 和 DC/OS 的容器编排平台)。
Kubernetes 和 Prometheus 均源自云原生计算基金会(CNCF)的项目。虽然它们并非专门为彼此设计,但二者之间的联系不可否认。Google 的容器编排系统 Borg 和监控系统 Borgmon 分别是 Kubernetes 和 Prometheus 的灵感来源。
Prometheus 通过 Kubernetes API 检索所需数据,以保持与集群状态的同步。由于可查询的 API 对象众多,Prometheus 的发现配置引入了“角色”的概念,包括:
- node :用于收集构成 Kubernetes 集群的实际节点(如运行 kubelet 代理的虚拟机),可用于监控集群及其底层基础设施。
- service :Kubernetes 中的服务对象类似于负载均衡器,该角色会为每个配置服务的每个端口提供一个端点,仅用于黑盒监控。
- pod :用于发现单个 Pod,无论其是否属于某个服务。
- endpoint :发现支持给定服务的 Pod 中的主进程。
- ingress :与服务类似,返回一
超级会员免费看
订阅专栏 解锁全文
7522

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



