本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
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 集成。helm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha
指定自定义参数安装(需替换 REGISTRY_NAME 和 REPOSITORY_NAME 为实际 Helm 仓库地址,如 Bitnami 官方仓库为 registry-1.docker.io/bitnamicharts):
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/postgresql-ha \ --set postgresql.postgresqlPassword=mysecretpassword \ --set postgresql.repmgrPassword=repmgrsecret \ --set pgpool.service.type=Load***
| 参数路径 | 描述 | 默认值 |
|---|---|---|
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 预设(仅建议开发环境使用):
postgresql: resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi pgpool: resources: requests: cpu: 200m memory: 256Mi limits: cpu: 500m memory: 512Mi
cert.crt、cert.key、ca.crt):kubectl create secret generic pgpool-tls-secret \ --from-file=./cert.crt \ --from-file=./cert.key \ --from-file=./ca.crt
helm 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
类似前端配置,通过 postgresql.tls.* 参数启用:
helm 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 认证需配置以下参数(示例):
helm 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):
postgresql: configuration: | max_connections = 100 shared_buffers = 256MB pgpool: configuration: | num_init_children = 32 max_pool = 4
或通过外部 ConfigMap 挂载配置(需提前创建 ConfigMap):
postgresql: configurationCM: my-postgresql-config # 外部 ConfigMap 名称 pgpool: configurationCM: my-pgpool-config # 外部 ConfigMap 名称
通过 initdbScripts 参数指定初始化脚本(键为脚本名,值为脚本内容):
postgresql: initdbScripts: init-user.sql: | CREATE USER appuser WITH PASSWORD 'apppass'; CREATE DATABASE appdb OWNER appuser;
或使用外部 Secret(含敏感信息):
postgresql: initdbScriptsSecret: my-init-scripts-secret # 外部 Secret 名称
ALTER USER postgres WITH PASSWORD 'newpassword';
SECRET_NAME、POSTGRES_PASSWORD 等占位符):kubectl 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 资源,具体步骤参考 Velero 官方文档。
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 标签),用于开发环境。详情参见 Bitnami Secure Images 公告。
免费版仅支持 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