
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Bitnami PostgreSQL HA Helm Chart 用于在 Kubernetes 集群中部署具有高可用(HA)架构的 PostgreSQL 集群。该解决方案包含 PostgreSQL 复制管理器(repmgr)和 Pgpool-II 组件,前者用于管理 PostgreSQL 集群的复制和故障转移,后者作为代理实现负载均衡和连接管理,确保数据库服务的高可用性和可靠性。
postgresql.conf、pg_hba.conf)、Pgpool-II(pgpool.conf、pool_hba.conf)和 Repmgr(repmgr.conf)配置文件。postgres_exporter 暴露指标,支持 ServiceMonitor 集成。快速安装(TL;DR)
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha
自定义安装
指定自定义参数安装(需替换 REGISTRY_NAME 和 REPOSITORY_NAME 为实际 Helm 仓库地址,如 Bitnami 官方仓库为 registry-1.docker.io/bitnamicharts):
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/postgresql-ha \ --set postgresql.postgresqlPassword=mysecretpassword \ --set postgresql.repmgrPassword=repmgrsecret \ --set pgpool.service.type=LoadBalancer
核心参数
| 参数路径 | 描述 | 默认值 |
|---|---|---|
postgresql.postgresqlPassword | PostgreSQL 管理员密码 | 自动生成随机值 |
postgresql.repmgrPassword | Repmgr 管理员密码 | 自动生成随机值 |
pgpool.service.type | Pgpool-II 服务类型(ClusterIP/NodePort/Load***) | ClusterIP |
persistence.enabled | 是否启用持久化存储 | true |
persistence.storageClass | 持久卷存储类 | 默认 StorageClass |
metrics.enabled | 是否启用 Prometheus 监控 | false |
资源配置
可通过 resources 参数设置容器资源请求和限制,或使用 resourcesPreset 预设(仅建议开发环境使用):
yamlpostgresql: resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi pgpool: resources: requests: cpu: 200m memory: 256Mi limits: cpu: 500m memory: 512Mi
TLS 加密配置
前端加密(客户端与 Pgpool-II 之间)
cert.crt、cert.key、ca.crt):consolekubectl create secret generic pgpool-tls-secret \ --from-file=./cert.crt \ --from-file=./cert.key \ --from-file=./ca.crt
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha \ --set pgpool.tls.enabled=true \ --set pgpool.tls.certificatesSecret=pgpool-tls-secret \ --set pgpool.tls.certFilename=cert.crt \ --set pgpool.tls.certKeyFilename=cert.key \ --set pgpool.tls.certCAFilename=ca.crt
后端加密(Pgpool-II 与 PostgreSQL 节点之间)
类似前端配置,通过 postgresql.tls.* 参数启用:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha \ --set postgresql.tls.enabled=true \ --set postgresql.tls.certificatesSecret=postgresql-tls-secret \ --set postgresql.tls.certFilename=cert.crt \ --set postgresql.tls.certKeyFilename=cert.key
LDAP 认证配置
启用 LDAP 认证需配置以下参数(示例):
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha \ --set ldap.enabled=true \ --set ldap.uri=ldap://my-ldap-server \ --set ldap.basedn=dc=example\,dc=org \ --set ldap.binddn=cn=admin\,dc=example\,dc=org \ --set ldap.bindpw=admin \ --set ldap.scope=sub \ --set ldap.searchfilter=posixaccount
自定义配置文件
通过参数直接指定配置内容(如 postgresql.configuration 自定义 postgresql.conf):
yamlpostgresql: configuration: | max_connections = 100 shared_buffers = 256MB pgpool: configuration: | num_init_children = 32 max_pool = 4
或通过外部 ConfigMap 挂载配置(需提前创建 ConfigMap):
yamlpostgresql: configurationCM: my-postgresql-config # 外部 ConfigMap 名称 pgpool: configurationCM: my-pgpool-config # 外部 ConfigMap 名称
初始化数据库
通过 initdbScripts 参数指定初始化脚本(键为脚本名,值为脚本内容):
yamlpostgresql: initdbScripts: init-user.sql: | CREATE USER appuser WITH PASSWORD 'apppass'; CREATE DATABASE appdb OWNER appuser;
或使用外部 Secret(含敏感信息):
yamlpostgresql: initdbScriptsSecret: my-init-scripts-secret # 外部 Secret 名称
更新凭据
sqlALTER USER postgres WITH PASSWORD 'newpassword';
SECRET_NAME、POSTGRES_PASSWORD 等占位符):consolekubectl create secret generic SECRET_NAME \ --from-literal=postgres-password=POSTGRES_PASSWORD \ --from-literal=repmgr-password=REPMGR_PASSWORD \ --dry-run -o yaml | kubectl apply -f -
备份与恢复
建议使用 Velero 工具备份持久卷数据和 Kubernetes 资源,具体步骤参考 https://velero.io/docs/。
16.1.0-debian-11-r0)而非 latest,避免自动更新导致兼容性问题。docker.io/bitnamilegacy 仓库并停止更新,生产环境建议使用 Bitnami Secure Images(需订阅)。| 特性 | PostgreSQL HA Helm Chart | 普通 PostgreSQL Helm Chart |
|---|---|---|
| 架构组件 | 包含 Pgpool-II(负载均衡/代理)和 Repmgr(复制管理) | 仅包含 PostgreSQL 主从复制 |
| 默认节点数 | 4 节点(1 Pgpool + 3 PostgreSQL 节点) | 2 节点(1 主 + 1 从) |
| 故障转移 | 自动(Repmgr + Pgpool-II) | 手动或需额外工具 |
| 负载均衡 | 支持(Pgpool-II 提供) | 无内置负载均衡 |
| 连接池 | 支持(Pgpool-II) | 需额外配置 |
Bitnami 将于 2025 年 8 月 28 日起调整公共镜像策略:
docker.io/bitnamilegacy 仓库,不再更新。latest 标签),用于开发环境。详情参见 https://github.com/bitnami/containers/issues/83267。
以下是 bitnamicharts/postgresql-ha 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务