【问题标题】:How to deploy Grafana as a Replicated Statefulset in Kubernetes?如何在 Kubernetes 中将 Grafana 部署为 Replicated Statefulset?
【发布时间】:2021-10-13 14:33:42
【问题描述】:

我需要以某种方式在 Kubernetes 集群中部署 Grafana,以便我可以让多个持久卷保持同步 - 类似于他们 did here

有人知道我如何使用master/slave architecture 以便只有 1 个 pod 写入而其他 pod 读取吗?我如何让它们保持同步?我需要额外的脚本来做到这一点吗?我可以使用 Grafana 内置的 sqlite3 数据库还是必须设置一个不同的数据库(Mysql、Postgres)?

除了 Mysql 或 MongoDB 之外,关于如何部署 statefulset 应用程序的文档真的不多。

任何指导、经验,甚至只是一个简单的建议都会有很大的帮助。谢谢!

【问题讨论】:

    标签: kubernetes grafana database-replication kubernetes-pod kubernetes-statefulset


    【解决方案1】:
    1. StatefulSet 不是您想的那样,与复制无关。他们只处理为每个副本配置存储的基础知识。
    2. 您执行此操作的方式正如您所说,将 Grafana 指向“真实”数据库而不是本地 Sqlite。
    3. 执行此操作后,您将使用 Deployment,因为 Grafana 本身就像任何其他 web 应用程序一样是无状态的。

    【讨论】:

    • 感谢您的回复。但是我将如何确保我的每个持久卷保持同步(主/从?)。你知道你可以指出我的任何脚本或例子吗?我确实需要为每个副本配置一个持久卷。我不能拥有他们都指向的单个持久卷,因为这是单点故障的风险。所以这就是为什么我认为有状态的集合是最有意义的。但我不确定如何让每个人与另一个人保持同步——即使我确实使用了部署。
    • 正如我所说,这些都不是由 Kubernetes 处理的。 Postgres 和 MySQL 有自己的复制系统。 Kubernetes 所做的只是为其设置存储。您过于想象这一切是如何工作的 :) 至于 Grafana,一旦您将其指向真正的数据库服务器,它就不需要任何本地存储、持久存储或其他方式。
    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 2020-12-02
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    相关资源
    最近更新 更多