【发布时间】:2019-11-16 16:04:13
【问题描述】:
我们正在使用 Prometheus 进行指标收集。 Prometheus 将被部署为一个容器,它将从各种来源收集指标并将数据存储在本地机器(容器运行的地方)中。如果保存容器的节点发生故障,我们将与该节点一起丢失指标,因为 Prometheus 将所有指标存储在该本地机器中。 Kubernetes 将检测容器故障并在健康节点中跨越该容器,但我们在旧节点中丢失了数据。
为了解决这个问题,我们也提出了两个想法
-
我们必须将整个 Prometheus 与 Kubernetes 分离。
- 我们需要确保 Prometheus 服务器和 Prometheus 服务器数据的高可用性。此外,我们需要确保 Prometheus 的身份验证。这里有一些安全问题,因为默认情况下 Prometheus 不附带身份验证prometheus-basic-auth,我们必须使用反向代理来处理身份验证。 Prometheus 需要与 Kubernetes 内部组件通信,因此我们也需要为此制定一种安全的方式。
-
我们必须单独解耦存储,例如:NFS 类协议(Kubernetes 术语中的 PV)。
- 我们需要确保 Prometheus 的数据具有高可用性。需要保护 NFS。
我们应该使用哪一个?
如果存在任何其他行业解决方案,也请分享。如果上述任何一种有未提及的副作用,请告诉我。
【问题讨论】:
-
使用 PV 完全没问题。
-
@Butuzov 对于 PV,您会建议哪种类型的 NAS。
标签: docker kubernetes prometheus high-availability