Bitnami clickhouse-operator Helm Chart 版本演进全解析:从 0.1.0 到 0.2.x 的关键变更与实现内幕

发布时间:2026/10/2 2:09:48
Bitnami clickhouse-operator Helm Chart 版本演进全解析:从 0.1.0 到 0.2.x 的关键变更与实现内幕 云原生容器编排【免费下载链接】chartsBitnami Helm Charts项目地址https://gitcode.com/GitHub_Trending/charts30/charts点击查看免费下载本篇文章以bitnami/clickhouse-operator/CHANGELOG.md为主线完整梳理该 Chart 从 0.1.0 新 Chart 诞生到 0.2.33 的三十余个版本迭代并结合仓库内 values.yaml、模板与 CRD 源码逐条还原依赖引用更新IP Families 支持默认 operator 用户变更移除 K8s 1.23 引用等关键变更背后的真实实现。读完本文你将能读懂 Bitnami 官方 Chart 的演进节奏理解ipFamily、auth、watchAllNamespaces等参数如何落到最终的 ConfigMap 与 Deployment 上并掌握基于版本记录排查升级风险的方法。一、Chart 身份与版本快照当前仓库中的clickhouse-operatorChart 位于 bitnami/clickhouse-operator/Chart.yaml其元数据如下Chart 名称clickhouse-operatorChart 版本0.2.34对应 CHANGELOG 中已记录的 0.2.33 之后的下一个版本appVersion0.25.3即被管理应用的版本对应 Operator 镜像docker.io/bitnami/clickhouse-operator:0.25.3-debian-12-r1依赖common2.x.x来自oci://registry-1.docker.io/bitnamicharts以 tagbitnami-common引入许可证Apache-2.0该 Chart 打包部署的是 Altinity 的 ClickHouse Operator——一个管理 ClickHouse 数据库的生产级 Operator负责在 Kubernetes 上以声明式方式交付 ClickHouse 分片/副本集群。Chart 同时携带 ClickHouse 与 ClickHouse Keeper 镜像引用Chart.yaml 的 annotations.images 中可看到clickhouse、clickhouse-keeper、clickhouse-operator、clickhouse-operator-metrics-exporter四类镜像。二、版本演进总览从 0.1.0 到 0.2.33 的时间线CHANGELOG 记录了自 2025-04-08 首次发布0.1.0以来的全部版本。按时间倒序的完整版本序列如下版本发布日期变更类型与主题0.2.332025-08-26更新依赖引用0.2.322025-08-26更新依赖引用0.2.312025-08-14更新依赖引用0.2.302025-08-14更新依赖引用0.2.292025-08-12更新依赖引用0.2.282025-08-08更新依赖引用0.2.272025-08-07更新依赖引用0.2.262025-08-06更新 NOTES 中的 BSI 警告文案 更新依赖引用0.2.252025-07-29更新依赖引用0.2.242025-07-24README 与 ASCII 图适配、欢迎语适配 BSI、README 增加 BSI 说明 更新依赖引用0.2.232025-07-15更新依赖引用0.2.222025-07-10更新依赖引用0.2.212025-07-08更新依赖引用0.2.202025-07-01更新依赖引用0.2.192025-06-27更新依赖引用0.2.182025-06-26更新依赖引用0.2.172025-06-26更新依赖引用0.2.162025-06-26更新依赖引用0.2.152025-06-20更新依赖引用0.2.142025-06-13更新依赖引用 更新 CHI 与 CHK 示例文档0.2.132025-06-06更新依赖引用0.2.122025-06-06更新依赖引用0.2.112025-06-03更新依赖引用0.2.102025-05-30更新依赖引用0.2.92025-05-29更新依赖引用0.2.82025-05-26更新依赖引用0.2.72025-05-26更新依赖引用0.2.62025-05-22更新依赖引用0.2.52025-05-20更新依赖引用0.2.42025-05-16CI移除运行时参数上的 hack0.2.32025-05-15更新依赖引用0.2.22025-05-15更新依赖引用0.2.12025-05-13Bugfix移除未使用的参数0.2.02025-05-12功能支持设置 IP FamiliesIPv4/IPv60.1.82025-05-06发布 0.1.80.1.72025-05-06更新 common 依赖并移除 K8s 1.23 引用0.1.62025-04-29修复更改默认 operator 用户0.1.52025-04-16文档改进 README 中的示例0.1.42025-04-09发布 0.1.40.1.32025-04-09发布 0.1.30.1.22025-04-09发布 0.1.20.1.12025-04-08发布 0.1.10.1.02025-04-08功能全新 Chart可以看出版本迭代呈现明显的两段式特征0.1.x 是 Chart 的打磨期发布、修 bug、改默认值0.2.x 是稳定维护期以更新依赖引用为主穿插功能性演进如 IP Families 与文档/品牌层面的 BSI 适配。三、0.1.0 新 Chart 诞生Chart 的构成要素0.1.0 是本 Chart 的起点2025-04-08PR #32816。从当前仓库的文件结构可以完整还原这个新 Chart包含哪些内容CRD 定义crds/4 个 Altinity Operator 自定义资源——ClickHouseInstallationclickhouse.altinity.com、ClickHouseInstallationTemplate、ClickHouseKeeperInstallationclickhouse-keeper.altinity.com、ClickHouseOperatorConfiguration分别对应clickhouseinstallations.clickhouse.altinity.com.yaml、clickhouseinstallationtemplates.clickhouse.altinity.com.yaml、clickhousekeeperinstallations.clickhouse-keeper.altinity.com.yaml、clickhouseoperatorconfigurations.clickhouse.altinity.com.yaml工作负载与运行资源templates/deployment.yamlOperator Deployment、service.yaml、service-account.yaml、rbac.yaml、secret.yaml、configmap.yaml、pdb.yaml、hpa.yaml、vpa.yaml、networkpolicy.yaml、servicemonitor.yaml、extra-list.yaml以及 NOTES.txt 和_helpers.tpl配置注入层chi-templates-configmap.yamlClickHouse Installation 模板、chi-configd-configmap.yamlClickHouse 配置文件、chi-usersd-configmap.yamlClickHouse 用户配置、chk-templates-configmap.yaml、chk-configd-configmap.yaml、chk-usersd-configmap.yaml文档与元数据README.md含完整参数表、values.yaml默认值、Chart.lock、Chart.yaml。这一阶段的版本 0.1.10.1.4 均为紧随其后的补丁发布主要作用是收敛 Chart 的初始缺陷并固化镜像引用为后续的实质功能演进打好基础。四、关键功能性变更的源码级解读4.1 0.1.6默认 operator 用户变更0.1.62025-04-29PR #33247将 Operator 的默认用户从旧值改为clickhouse_operator。这一变更直接体现在 values.yaml 的认证参数中auth: username: clickhouse_operator password: existingSecret: 其落地链路为Chart 安装时secret.yaml 会生成一个 Opaque Secret其中的username与password键通过common.secrets.passwords.manage帮助函数生成未指定auth.password时会自动随机生成并写回 Secret 以保持幂等随后 configmap.yaml 中生成的 Operator 配置将access.secret.name指向该 SecretOperator 即用此凭据访问 ClickHouse 的 HTTP 端口默认 8123执行查询与运维操作。实践中建议生产环境直接使用auth.existingSecret指向自己预创建的 Secret键名必须为username与password避免由 Helm 随机生成后在集群间迁移时不一致。4.2 0.1.7移除 K8s 1.23 引用0.1.72025-05-06PR #33346在更新common依赖的同时移除了对 Kubernetes 1.23 以下版本的所有引用。这与 README.md 中声明的先决条件一致Kubernetes 1.23Helm 3.8.0底层基础设施支持 PV provisioner扩容场景需要 ReadWriteMany 卷这意味着该 Chart 自 0.1.7 起只面向现代 K8s API 编写模板例如 deployment.yaml 中通过common.capabilities.deployment.apiVersion自动选择 Deployment API 版本并依赖apps/v1的能力。升级到该版本及之后时需确认集群版本满足要求。4.3 0.2.0支持设置 IP FamiliesIPv4/IPv60.2.02025-05-12PR #33606是 0.2.x 时代首个功能性特性——允许用户控制 Operator 托管的 ClickHouse 与 ClickHouse Keeper 监听 IPv4/IPv6 地址。对应的 values.yaml 参数为ipFamily: enableIpv4: true enableIpv6: true该参数的实际消费点在两个配置模板中chi-configd-configmap.yaml为 ClickHouse 生成01-clickhouse-01-listen.xml按ipFamily.enableIpv4/ipFamily.enableIpv6写入listen_host0.0.0.0/listen_host或listen_host::/listen_hostchk-configd-configmap.yaml为 Keeper 生成监听配置同时控制listen_host与interserver_listen_host两个标签。因此当你的集群为纯 IPv6 或双栈环境时可分别关闭/开启这两项默认双开。同理0.2.12025-05-13PR #33627的移除未使用参数与 0.2.42025-05-16PR #33753的移除运行时参数上的 hack都属于 CI/代码卫生类变更前者清理了 values 中不再生效的键后者使模板渲染与最终生效参数保持一致避免运行时出现隐性覆盖。4.4 0.1.5 与 0.2.14README 与 CHI/CHK 示例的迭代0.1.52025-04-16PR #33020改进 README 中的示例重点补充了extraDeploy用法——通过该参数可以在安装 Chart 的同时直接交付ClickHouseInstallation与ClickHouseKeeperInstallation自定义资源对象完整示例可在 README.md 中查看包含default-clickhousepod 模板、default-keeperpod 模板及配套的chk-test-clusterService。0.2.142025-06-13PR #34258在更新依赖的同时更新了 CHI 与 CHK 的示例文档与 chi-templates-configmap.yaml 中自动生成的default-chi-template默认http_port 8124 / tcp_port 9001 / interserver 90108Gi 数据卷相呼应帮助用户理解Chart 默认模板与自建资源之间的关系。4.5 0.2.24 / 0.2.26BSIBitnami Secure Images品牌与安全提示落地0.2.242025-07-24三个提交均为文档层主 README 与 ASCII 图适配、Chart 部署后欢迎消息NOTES.txt适配 BSI、README 中增加 BSI 说明章节0.2.262025-08-06PR #35340进一步更新了 Chart NOTES 中的 BSI 警告文案。这些变更不改变 Chart 行为但向用户传达该 Chart 默认使用的镜像是基于安全加固基线构建的 Bitnami Secure Images近零 CVE、提供 VEX/EPSS 等安全元数据。从仓库证据看Chart.yaml 中四类镜像均为-debian-12-后缀的 Bitnami 构建产物印证了这一产品线定位。4.6 贯穿始终的更新依赖引用Update dependency references从 0.2.2 到 0.2.33 的绝大多数版本约 28 个都是更新依赖引用。结合仓库证据这里的依赖指三层内容common子 Chart 依赖见 Chart.lock 与 Chart.yaml每次更新都会重新锁定common2.x.x的精确版本同步common中的resourcesPreset、affinity 预设、安全上下文渲染等公共能力容器镜像引用image、clickHouseImage、keeperImage、metrics.image四个组的 tag/digest如0.25.3-debian-12-r1、25.7.5-debian-12-r0随上游容器构建滚动更新CRD 与模板内部的资源定义Operator 托管的 ClickHouse/Keeper 配置片段随上游模板同步。这类变更通常是向前兼容的补丁升级但读者在升级前仍应核对 CHANGELOG.md 中对应 PR 的提交范围尤其是涉及镜像 tag 变更时建议在生产环境使用不可变 tag 并在测试环境先行验证。五、当前版本的能力全貌0.2.34综合 values.yaml 与 README.md 的参数表当前 Chart 的能力可归纳为六大维度镜像与认证image/clickHouseImage/keeperImage三组镜像参数registry、repository、digest、pullPolicy、pullSecretsauth.username/password/existingSecret凭据管理global.imageRegistry等全局覆盖监听与网络ipFamilyIPv4/IPv6 双栈监听、containerPorts.metrics9999、service.ports.metrics/metricsExporter9999/8888、networkPolicy默认开启含kubeAPIServerPorts与 ingress/egress 自定义规则配置注入configuration/overrideConfiguration/existingConfigmapOperator 自身配置自动生成时含 watch 命名空间、reconcile 线程数、重启策略等chiTemplate/chiConfigd/chiUsersd及其 existingConfigmap 变体ClickHouse 侧chkTemplate/chkConfigd/chkUsersd及其变体Keeper 侧调度与高可用replicaCount、podAffinityPreset/podAntiAffinityPreset/nodeAffinityPreset/affinity、nodeSelector、tolerations、topologySpreadConstraints、updateStrategy、pdb默认创建、autoscaling.hpa/vpa可观测性metrics.enabled启动 metrics-exporter sidecar端口 8888metrics.serviceMonitor.enabled生成 ServiceMonitor 对接 Prometheus Operator主容器自身在 9999 端口暴露/metrics安全与合规podSecurityContextfsGroup 1001、containerSecurityContextrunAsNonRoot、readOnlyRootFilesystem、drop ALL capabilities、RuntimeDefault seccomp、rbac.create、serviceAccount、global.compatibility.openshift.adaptSecurityContextauto/force/disabled 三态适配 OpenShift restricted-v2 SCC。值得注意的实现细节默认 Operator 配置中watch.namespaces仅监听当前命名空间configmap.yaml只有显式设置watchAllNamespaces: true或填充watchNamespaces列表时才会扩大监听范围同时 deployment.yaml 会对每个自动生成的 ConfigMap 计算checksum/config、checksum/chi-templates等注解配置变更会触发 Pod 滚动重建而existing*Configmap参数存在时则跳过对应 checksum需手动滚动。六、安装、升级与验证安装与升级均通过 Helm 标准流程完成Chart 本身来自 OCI registry仓库内 values.yaml 可作为本地模板参考# 安装将 REGISTRY_NAME/REPOSITORY_NAME 替换为你的 Chart 仓库如 registry-1.docker.io/bitnamicharts helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/clickhouse-operator # 使用自定义 values 文件安装 helm install my-release -f values.yaml oci://REGISTRY_NAME/REPOSITORY_NAME/clickhouse-operator # 设置单参数让 Operator 监听所有命名空间 helm install my-release \ --set watchAllNamespacestrue \ oci://REGISTRY_NAME/REPOSITORY_NAME/clickhouse-operator # 查看已安装的 release helm list验证安装是否生效# 确认 Operator Deployment 与 Pod 就绪 kubectl get deployment -n namespace kubectl get pods -n namespace -l app.kubernetes.io/componentoperator # 确认 CRD 已安装 kubectl get crd | grep altinity.com # 启用 metrics 后检查指标端点 kubectl port-forward svc/release 9999:9999 curl http://localhost:9999/metrics升级前建议对照 CHANGELOG.md 逐版核对变更类型纯依赖引用更新可平滑滚动升级涉及auth、ipFamily、K8s 版本下限1.23的版本需评估配置差异。README 同时提醒部署后无法通过 Helm 直接修改应用访问凭据用户名/密码如需变更需删除相关 PV 后重新部署或使用应用自身的管理工具——这一限制与 0.1.6 引入的 Secret 化凭据管理机制直接相关。结语从 0.1.0 的全新 Chart到 0.2.33 的常态化维护bitnami/clickhouse-operator的版本记录展示了一条清晰的演进路径先补齐发布质量0.1.10.1.8再落地功能0.2.0 IP Families、修正参数0.2.1、收紧 CI0.2.4最后转向文档与安全品牌维护0.2.240.2.26。理解这些版本条目的背后实现——从 values.yaml 的默认值到 configmap.yaml、chi-configd-configmap.yaml、chk-configd-configmap.yaml 等模板的渲染逻辑——能帮助你在升级、排障和自定义部署时做出更准确的判断。赞分享云原生容器编排【免费下载链接】chartsBitnami Helm Charts项目地址https://gitcode.com/GitHub_Trending/charts30/charts点击查看免费下载相关推荐Worktrunk 上手指南让 Git worktree 像分支一样简单为并行 AI Agent 工作流而生Worktrunk 上手指南让 Git worktree 像分支一样简单为并行 AI Agent 工作流而生 Worktrunk 是一个面向 Git wor云原生容器编排Bitnami cAdvisor Helm Chart 版本演进全解析从 0.1.0 到 0.1.14 的发布历史与实现内幕Bitnami cAdvisor Helm Chart 版本演进全解析从 0.1.0 到 0.1.14 的发布历史与实现内幕 cAdvisorContain云原生容器编排Bitnami Apache APISIX Helm Chart 版本演进全解析从 6.0.2 回溯至 0.1.0 的关键变更与技术脉络Bitnami Apache APISIX Helm Chart 版本演进全解析从 6.0.2 回溯至 0.1.0 的关键变更与技术脉络 Apache API云原生容器编排上一篇魔兽争霸III终极修复指南5分钟解决现代系统兼容性问题下一篇微信聊天记录导出终极指南3分钟掌握精准备份技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考