本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
ClickHouse Operator 是一个生产级的 Kubernetes Operator,用于管理 ClickHouse 数据库集群,提供经济高效的实时分析应用所需的稳健功能。Bitnami Helm Chart 为 ClickHouse Operator 提供了便捷的部署和配置方式,支持在 Kubernetes 集群中快速搭建生产就绪的 ClickHouse 管理环境。
使用 Helm 快速安装 ClickHouse Operator(默认配置):
helm install my-release oci://registry-1.docker.io/bitnamicharts/clickhouse-operator
指定仓库和版本
替换仓库地址和版本标签(如使用私有仓库):
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/clickhouse-operator --version 1.0.0
通过 values 文件配置
创建自定义 values.yaml 文件覆盖默认配置:
# values.yaml 示例 resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi metrics: enabled: true
安装时指定配置文件:
helm install my-release oci://registry-1.docker.io/bitnamicharts/clickhouse-operator -f values.yaml
查看部署状态
检查 Deployment 和 Pod 状态:
kubectl get deployments kubectl get pods
卸载
卸载 Helm 发布:
helm uninstall my-release
ClickHouse Operator 支持多种配置方式:
configuration、chiTemplate、chkTemplate 参数生成配置existingConfigmap、existingChiTemplatesConfigmap 或 existingChkTemplatesConfigmap 指定已存在的 ConfigMapoverrideConfiguration 参数覆盖默认配置值详细配置选项参考 官方文档。
添加额外环境变量:通过 extraEnvVars 注入环境变量:
extraEnvVars: - name: LOG_LEVEL value: "error" - name: OPERATOR_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace
通过 ConfigMap/Secret 注入:使用 extraEnvVarsCM 或 extraEnvVarsSecret 指定包含环境变量的 ConfigMap/Secret 名称。
资源请求与限制:直接配置 resources 参数:
resources: requests: cpu: 1000m memory: 2Gi limits: cpu: 2000m memory: 4Gi
资源预设:通过 resourcesPreset 使用预设配置(如 small、medium、large),预设定义参考 bitnami/common chart(生产环境建议自定义资源配置而非依赖预设)。
启用 Prometheus 监控:
metrics: enabled: true serviceMonitor: enabled: true # 如需集成 Prometheus Operator,启用此项 namespace: monitoring # 指定 Prometheus 所在命名空间 interval: 15s # 抓取间隔
监控集成要求集群中已部署 Prometheus 或 Prometheus Operator,推荐使用 Bitnami Prometheus Helm Chart。
添加 Sidecar 容器(如日志收集器):
sidecars: - name: log-exporter image: busybox:latest command: ["/bin/sh", "-c", "tail -f /var/log/clickhouse-operator/*.log"] volumeMounts: - name: logs mountPath: /var/log/clickhouse-operator
添加 Init 容器(如配置初始化):
initContainers: - name: init-config image: busybox:latest command: ["/bin/sh", "-c", "echo 'init config' > /init/config.txt"] volumeMounts: - name: init-volume mountPath: /init
通过 affinity 参数自定义 Pod 亲和性:
affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - clickhouse-operator topologyKey: "kubernetes.io/hostname"
或使用预设亲和性配置:
podAntiAffinityPreset: "soft" # 软反亲和性,尽量避免同节点部署 nodeAffinityPreset: type: "required" key: "node-role.kubernetes.io/worker" values: ["true"]
通过 extraDeploy 参数部署 ClickHouse 集群和 Keeper 集群:
extraDeploy: # ClickHouse Keeper 集群部署 - apiVersion: clickhouse-keeper.altinity.com/v1 kind: ClickHouseKeeperInstallation metadata: name: chk-cluster spec: defaults: storageManagement: provisioner: Operator templates: podTemplate: keeper-pod dataVolumeClaimTemplate: keeper-volume configuration: clusters: - name: main layout: replicasCount: 3 # 3副本高可用配置 templates: podTemplates: - name: keeper-pod spec: containers: - name: clickhouse-keeper image: docker.io/bitnami/clickhouse-keeper:latest volumeMounts: - name: keeper-volume mountPath: /bitnami/clickhouse-keeper volumeClaimTemplates: - name: keeper-volume spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi # ClickHouse 集群部署 - apiVersion: clickhouse.altinity.com/v1 kind: ClickHouseInstallation metadata: name: ch-cluster spec: defaults: storageManagement: provisioner: Operator templates: podTemplate: ch-pod dataVolumeClaimTemplate: ch-volume configuration: clusters: - name: analytics layout: replicasCount: 2 # 2副本集群 zookeeper: nodes: - host: chk-cluster-main # 关联 Keeper 集群服务 port: 2181 templates: podTemplates: - name: ch-pod spec: containers: - name: clickhouse image: docker.io/bitnami/clickhouse:latest volumeMounts: - name: ch-volume mountPath: /bitnami/clickhouse volumeClaimTemplates: - name: ch-volume spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 50Gi
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库地址 | "" |
global.imagePullSecrets | 全局镜像拉取密钥列表 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过校验) | false |
global.compatibility.openshift.adaptSecurityContext | 是否适配 OpenShift 安全上下文(auto/force/disabled) | auto |
global.compatibility.omitEmptySeLinuxOptions | 移除空的 seLinuxOptions 配置 | false |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
apiVersions | 覆盖 Kubernetes API 版本 | [] |
nameOverride | 覆盖资源名称前缀 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
namespaceOverride | 覆盖命名空间 | "" |
commonLabels | 全局标签 | {} |
commonAnnotations | 全局注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 额外部署的 Kubernetes 资源清单 | [] |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | Operator 镜像仓库 | REGISTRY_NAME |
image.repository | Operator 镜像仓库路径 | REPOSITORY_NAME/clickhouse-operator |
image.digest | 镜像摘要(覆盖标签) | "" |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
image.pullSecrets | 镜像拉取密钥 | [] |
clickHouseImage.registry | ClickHouse 镜像仓库 | REGISTRY_NAME |
clickHouseImage.repository | ClickHouse 镜像路径 | REPOSITORY_NAME/clickhouse |
keeperImage.registry | ClickHouse Keeper 镜像仓库 | REGISTRY_NAME |
keeperImage.repository | ClickHouse Keeper 镜像路径 | REPOSITORY_NAME/clickhouse-keeper |
auth.username | Operator 认证用户名 | clickhouse_operator |
auth.password | Operator 认证密码 | "" |
auth.existingSecret | 包含认证信息的现有 Secret 名称 | "" |
ipFamily.enableIpv4 | 是否启用 IPv4 | true |
注:完整参数列表请参考 官方文档
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,主要变更包括:
docker.io/bitnamilegacy 仓库,且不再更新更多详情请参考 Bitnami Secure Images 公告。
global.compatibility.openshift.adaptSecurityContext: force 强制适配 OpenShift 安全上下文免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429