专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

bitnamicharts/postgresql-ha Docker 镜像 - 轩辕镜像

postgresql-ha
bitnamicharts/postgresql-ha
Bitnami提供的Helm chart,用于在Kubernetes环境中部署和管理高可用PostgreSQL数据库实例。
1 收藏0 次下载activebitnamicharts镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Bitnami PostgreSQL HA Helm Chart 文档

镜像概述和主要用途

Bitnami PostgreSQL HA Helm Chart 用于在 Kubernetes 集群中部署具有高可用(HA)架构的 PostgreSQL 集群。该解决方案包含 PostgreSQL 复制管理器(repmgr)和 Pgpool-II 组件,前者用于管理 PostgreSQL 集群的复制和故障转移,后者作为代理实现负载均衡和连接管理,确保数据库服务的高可用性和可靠性。

核心功能和特性

  • 高可用架构:基于主从复制拓扑,包含主节点(可写)和从节点(只读),结合 Repmgr 实现自动故障转移,当主节点故障时自动将从节点提升为主节点,避免数据丢失。
  • Pgpool-II 集成:作为 PostgreSQL 后端代理,提供连接池、负载均衡、读写分离功能,减少连接开销并优化集群性能。
  • 自动化复制管理:通过 Repmgr 实现 PostgreSQL 集群的成员管理、复制监控和自动故障转移。
  • 灵活的配置定制:支持通过 ConfigMap 或参数自定义 PostgreSQL(postgresql.conf、pg_hba.conf)、Pgpool-II(pgpool.conf、pool_hba.conf)和 Repmgr(repmgr.conf)配置文件。
  • 安全增强:支持 TLS 加密(前端客户端与 Pgpool-II 之间、Pgpool-II 与 PostgreSQL 节点之间)、LDAP 认证、客户端证书认证。
  • 可观测性:集成 Prometheus 监控,通过 postgres_exporter 暴露指标,支持 ServiceMonitor 集成。
  • 数据持久化:使用持久卷(PVC)存储数据库数据,支持自定义存储类和现有卷声明。
  • 初始化脚本支持:允许通过 ConfigMap、Secret 或参数指定自定义初始化脚本,用于数据库初始化(如创建用户、表等)。

使用场景和适用范围

  • 生产环境数据库部署:需要高可用性、自动故障转移和数据可靠性的关键业务系统。
  • Kubernetes 集群内数据库服务:适用于在 Kubernetes 环境中部署 PostgreSQL,利用容器编排和服务发现能力。
  • 读写分离需求:通过 Pgpool-II 实现读写请求分离,优化查询性能。
  • 需要监控和可观测性的场景:集成 Prometheus 便于监控集群状态和性能指标。
  • 安全合规场景:支持 TLS 加密和 LDAP 认证,满足数据传输和访问控制的安全要求。

先决条件

  • Kubernetes 集群版本 1.23+
  • Helm 版本 3.8.0+
  • 集群中存在默认 StorageClass(用于动态创建持久卷)或已准备好静态持久卷

详细使用方法和配置说明

安装 Helm Chart
快速安装(TL;DR)
console
helm install my-release oci://registry-1.docker.io/bitnamicharts/postgresql-ha
自定义安装

指定自定义参数安装(需替换 REGISTRY_NAME 和 REPOSITORY_NAME 为实际 Helm 仓库地址,如 Bitnami 官方仓库为 registry-1.docker.io/bitnamicharts):

console
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.postgresqlPasswordPostgreSQL 管理员密码自动生成随机值
postgresql.repmgrPasswordRepmgr 管理员密码自动生成随机值
pgpool.service.typePgpool-II 服务类型(ClusterIP/NodePort/Load***)ClusterIP
persistence.enabled是否启用持久化存储true
persistence.storageClass持久卷存储类默认 StorageClass
metrics.enabled是否启用 Prometheus 监控false
资源配置

可通过 resources 参数设置容器资源请求和限制,或使用 resourcesPreset 预设(仅建议开发环境使用):

yaml
postgresql:
  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 之间)

  1. 创建包含 TLS 证书的 Secret(需提前生成证书文件 cert.crt、cert.key、ca.crt):
console
kubectl create secret generic pgpool-tls-secret \
  --from-file=./cert.crt \
  --from-file=./cert.key \
  --from-file=./ca.crt
  1. 安装时启用 TLS:
console
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

后端加密(Pgpool-II 与 PostgreSQL 节点之间)

类似前端配置,通过 postgresql.tls.* 参数启用:

console
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 认证配置

启用 LDAP 认证需配置以下参数(示例):

console
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):

yaml
postgresql:
  configuration: |
    max_connections = 100
    shared_buffers = 256MB
pgpool:
  configuration: |
    num_init_children = 32
    max_pool = 4

或通过外部 ConfigMap 挂载配置(需提前创建 ConfigMap):

yaml
postgresql:
  configurationCM: my-postgresql-config  # 外部 ConfigMap 名称
pgpool:
  configurationCM: my-pgpool-config      # 外部 ConfigMap 名称
初始化数据库

通过 initdbScripts 参数指定初始化脚本(键为脚本名,值为脚本内容):

yaml
postgresql:
  initdbScripts:
    init-user.sql: |
      CREATE USER appuser WITH PASSWORD 'apppass';
      CREATE DATABASE appdb OWNER appuser;

或使用外部 Secret(含敏感信息):

yaml
postgresql:
  initdbScriptsSecret: my-init-scripts-secret  # 外部 Secret 名称
升级与维护
更新凭据
  1. 通过 SQL 更新数据库用户密码:
sql
ALTER USER postgres WITH PASSWORD 'newpassword';
  1. 更新 Kubernetes Secret(替换 SECRET_NAME、POSTGRES_PASSWORD 等占位符):
console
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,避免自动更新导致兼容性问题。
  • 存储配置:确保持久卷有足够容量,生产环境建议使用高性能存储(如 SSD)。
  • 安全更新:自 2025 年 8 月 28 日起,Bitnami 非强化版 Debian 镜像将逐步迁移至 docker.io/bitnamilegacy 仓库并停止更新,生产环境建议使用 Bitnami Secure Images(需订阅)。
  • 资源规划:根据数据库负载调整资源请求和限制,避免资源不足导致性能问题。

与普通 PostgreSQL Helm Chart 的区别

特性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)需额外配置

镜像变更通知(2025年8月起)

Bitnami 将于 2025 年 8 月 28 日起调整公共镜像策略:

  • 非强化版镜像迁移:所有现有镜像(含历史版本标签)将迁移至 docker.io/bitnamilegacy 仓库,不再更新。
  • 免费层镜像缩减:社区用户仅可访问少量强化版镜像(仅 latest 标签),用于开发环境。
  • 生产环境建议:推荐使用 Bitnami Secure Images,包含强化容器、CVE 透明性、SBOM 和企业支持。

详情参见 Bitnami Secure Images 公告。

查看更多 postgresql-ha 相关镜像 →
bitnami/postgresql logo
bitnami/postgresql
by VMware
认证
Bitnami PostgreSQL安全镜像是一款专为PostgreSQL数据库设计的预配置、安全强化型容器镜像,集成自动更新的安全补丁、最小化攻击面架构、合规性验证工具及行业最佳安全实践,旨在简化数据库部署流程,同时保障数据存储与访问的安全性、稳定性及可靠性,适用于企业级应用场景下高效、安全的数据库环境搭建。
3691B+ pulls
上次更新:24 天前
bitnamicharts/postgresql logo
bitnamicharts/postgresql
by VMware
认证
Bitnami的PostgreSQL Helm chart,用于在Kubernetes环境中便捷部署和管理PostgreSQL数据库,支持灵活配置与可靠运行。
510M+ pulls
上次更新:19 天前
bitnami/postgresql-repmgr logo
bitnami/postgresql-repmgr
by VMware
认证
Bitnami postgresql-repmgr 安全镜像
2550M+ pulls
上次更新:3 个月前
percona/percona-postgresql-operator logo
percona/percona-postgresql-operator
by Percona
认证
Percona Operator for PostgreSQL 是一款用于在 Kubernetes 上自动化创建和管理可靠生产级 PostgreSQL 集群的工具,100% 开源且无供应商锁定,提供高可用部署、备份恢复、安全连接等企业级特性。
75M+ pulls
上次更新:17 天前
manageiq/postgresql logo
manageiq/postgresql
by manageiq
基于CentOS构建的PostgreSQL容器,专为ManageIQ平台设计,提供可靠的后端数据库服务支持。
1M+ pulls
上次更新:6 天前
islandora/postgresql logo
islandora/postgresql
by islandora
开源关系型数据库。
50K+ pulls
上次更新:9 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
bitnamicharts/postgresql-ha
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429