容器化 | ClickHouse on K8s 部署篇【建议收藏】

本文介绍了如何在Kubernetes上使用Operator部署RadonDB ClickHouse,对比了使用kubectl和Helm两种方式的步骤。通过Operator,可以轻松管理ClickHouse集群的分片和硬盘扩容。Kubectl部署需要深入K8s知识,而Helm则提供了更简洁的部署体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:苏厚镇 青云科技数据库研发工程师

目前从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。

延续上篇《容器化 ClickHouse on K8s 基本概念解析篇》,可以了解到 Operator 提供简便管理 ClickHouse 集群功能,Helm 提供便捷部署集群功能。

本篇将以部署 RadonDB ClickHouse[1] 作为示例。在同样选用 Operator 的条件下,比较Kubectl 和 Helm 两种方式在 K8s 上部署 ClickHouse 集群的便捷性。并简要介绍如何在 K8s 上通过 Operator 轻便快速地管理 ClickHouse 集群。

| 使用 Kubectl + Operator 部署

前置条件

  • 已安装 Kubernetes 集群。

部署步骤

1、部署 RadonDB ClickHouse Operator

$ kubectl apply -f https://github.com/radondb/radondb-clickhouse-kubernetes/clickhouse-operator-install.yaml

注意:若需 Operator 监控所有的 Kubernetes namespace,则需将其部署在 kube-system namespace 下。否则只会监控部署到的 namespace。

2、编写 CR 的部署文件

以下 yaml 文件描述了应用 RadonDB ClickHouse Operator 安装两分片两副本集群的 ClickHouse 的配置规范。

apiVersion: "clickhouse.radondb.com/v1"
kind: "ClickHouseInstallation"  # 应用 Operator 创建集群
metadata:
  name: "ClickHouse"
spec:
  defaults:
 templates:                  # 磁盘挂载
   dataVolumeClaimTemplate: data
   logVolumeClaimTemplate: data
  configuration:
    clusters:                   # 集群节点描述,三分片两副本
      - name: "replicas"
        layout:
          shardsCount: 2
          replicasCount: 2
  templates:
     volumeClaimTemplates:   # 磁盘信息描述
       - name: data
            reclaimPolicy: Retain
         spec:
           accessModes:
             - ReadWriteOnce
           resources:
             requests:
               storage: 10Gi

3、使用 Kubectl 部署

以 test 名称空间为例:

$ kubectl -n test apply -f hello-kubernetes.yaml
clickhouseinstallation.clickhouse.radondb.com/ClickHouse created

注意:若 RadonDB ClickHouse Opera

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值