【问题标题】:Clickhouse as kubernetes deployment with replicasClickhouse 作为带有副本的 Kubernetes 部署
【发布时间】:2020-12-10 10:56:28
【问题描述】:

我正在部署 clickhouse 以及托管在 AWS EKS 中的 Sentry On Premises 设置。 我想使用存储类 (EBS) 使用 PVC 对 clickhouse 数据 /var/lib/clickhouse 进行卷管理。我想要一个所有 clickhouse pod 都可以写入和读取的块设备。我无法使用 kubernetes 类型来实现这一点:使用 2 个副本进行部署。第一个 pod 获取卷并开始运行而没有任何错误,而第二个 pod 不断崩溃并显示以下消息:

kubelet[3862]: E1210 10:03:17.377448 3862 pod_workers.go:191] Error syncing pod ab24c325-a86c-4fa4-aee4-d14766d7cfec ("clickhouse-59cbd46586-vsmvg_default(ab24c325-a86c-4fa4-aee4-d14766d7cfec)"), skipping: failed to "StartContainer" for "clickhouse-server" with CrashLoopBackOff: "back-off 5m0s restarting failed container=clickhouse-server pod=clickhouse-59cbd46586-vsmvg_default(ab24c325-a86c-4fa4-aee4-d14766d7cfec)"

使用可作为有状态集使用的 clickhouse helm 图表,我正在运行容器。我的问题是:如果 clickhouse 以具有 2 个或更多副本的状态集运行,则每个 pod 卷中的数据将不一致,如何管理?有没有办法通过多个 pod 与之交谈的单卷来实现这一点?

【问题讨论】:

    标签: kubernetes amazon-eks clickhouse


    【解决方案1】:

    您应该为每个 clickhouse-server 实例使用带有 Replica:1 的单独 StatefulSet,而不是使用具有多个副本的 Deployment。

    【讨论】:

    • 啊,谢谢你的回答,我遵循了你的方法,效果很好:)
    • ok ;) 所以请投票支持我的评论作为正确的解决方案
    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2020-12-14
    • 2019-04-14
    • 2020-07-04
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多