这是本节的多页打印视图。 .
参考
1 - Linux 兼容性
Pigsty 运行于 Linux 操作系统上,支持 amd64/x86_64 与 arm64/aarch64 架构,支持 EL,Debian,Ubuntu 三大主流 Linux 发行版。
Pigsty 不使用任何虚拟化容器化技术,直接运行于裸操作系统上。我们为三大主流 Linux 发行版生命周期内的主流大版本与两种架构提供支持。
概述
Pigsty 推荐使用的操作系统版本:Rocky Linux 9.8 / 10.2、Debian 12.15 / 13.6、Ubuntu 22.04.5 / 24.04.4 / 26.04.0。
| 发行版 | 架构 | 系统代码 | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
| RHEL / Rocky / Alma 10 | x86_64 | el10.x86_64 |
|||||
| RHEL / Rocky / Alma 10 | aarch64 | el10.aarch64 |
|||||
| RHEL / Rocky / Alma 9 | x86_64 | el9.x86_64 |
|||||
| RHEL / Rocky / Alma 9 | aarch64 | el9.aarch64 |
|||||
Ubuntu 26.04 (resolute) |
x86_64 | u26.x86_64 |
|||||
Ubuntu 26.04 (resolute) |
aarch64 | u26.aarch64 |
|||||
Ubuntu 24.04 (noble) |
x86_64 | u24.x86_64 |
|||||
Ubuntu 24.04 (noble) |
aarch64 | u24.aarch64 |
|||||
Ubuntu 22.04 (jammy) |
x86_64 | u22.x86_64 |
|||||
Ubuntu 22.04 (jammy) |
aarch64 | u22.aarch64 |
|||||
Debian 13 (trixie) |
x86_64 | d13.x86_64 |
|||||
Debian 13 (trixie) |
aarch64 | d13.aarch64 |
|||||
Debian 12 (bookworm) |
x86_64 | d12.x86_64 |
|||||
Debian 12 (bookworm) |
aarch64 | d12.aarch64 |
以上七个小版本是当前验证基线。扩展仓库仍保留 EL8 双架构兼容性,因此完整软件包矩阵共有 16 个 Linux 平台;EL8 已进入退役过渡期,不再属于推荐部署基线。
EL
Pigsty 支持 RHEL / Rocky / Alma / Anolis / CentOS 8、9、10 版本。
| EL 发行版 | 架构 | 系统代码 | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
| RHEL10 / Rocky10 / Alma10 | x86_64 | el10.x86_64 |
|||||
| RHEL10 / Rocky10 / Alma10 | aarch64 | el10.aarch64 |
|||||
| RHEL9 / Rocky9 / Alma9 | x86_64 | el9.x86_64 |
|||||
| RHEL9 / Rocky9 / Alma9 | aarch64 | el9.aarch64 |
|||||
| RHEL8 / Rocky8 / Alma8 | x86_64 | el8.x86_64 |
|||||
| RHEL8 / Rocky8 / Alma8 | aarch64 | el8.aarch64 |
|||||
| RHEL7 / CentOS7 | x86_64 | el7.x86_64 |
|||||
| RHEL7 / CentOS7 | aarch64 | - |
请注意,PGDG Yum 仓库 从 EL9 / EL10 开始,针对 EL 小版本 进行构建,目前建议使用的小版本为:9.8 / 10.2。 建议离线安装包/自建离线仓库与系统 EL 小版本(例如 Rocky Linux 9.8 / 10.2)保持一致,跨小版本可能因 OpenSSL 等依赖版本跳变导致不可用。
EL8 将于 2029 年进入 EOL,建议尽早规划升级。鉴于 EL10 适配已经完成,我们将在下个版本移除对 EL8 的支持。
Red Hat Enterprise Linux 7 已经于 2024年6月停止维护,PGDG 也不再为 PostgreSQL 16/17/18 提供 EL7 二进制包支持。
如需在老旧操作系统上获得运行支持,请考虑我们的 专业订阅服务。
Ubuntu
Pigsty 支持 Ubuntu 26.04 / 24.04 / 22.04:
| Ubuntu 发行版 | 架构 | 系统代码 | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
Ubuntu 26.04 (resolute) |
x86_64 | u26.x86_64 |
|||||
Ubuntu 26.04 (resolute) |
aarch64 | u26.aarch64 |
|||||
Ubuntu 24.04 (noble) |
x86_64 | u24.x86_64 |
|||||
Ubuntu 24.04 (noble) |
aarch64 | u24.aarch64 |
|||||
Ubuntu 22.04 (jammy) |
x86_64 | u22.x86_64 |
|||||
Ubuntu 22.04 (jammy) |
aarch64 | u22.aarch64 |
Ubuntu 26.04 是最新 LTS 基线;如果您希望采用更保守的 Ubuntu 生产环境基线,也可以继续使用 Ubuntu 24.04。
Debian
Pigsty 支持 Debian 12 / 13,推荐使用最新的 Debian 13.6。
| Debian 发行版 | 架构 | 系统代码 | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|---|---|
Debian 13 (trixie) |
x86_64 | d13.x86_64 |
|||||
Debian 13 (trixie) |
aarch64 | d13.aarch64 |
|||||
Debian 12 (bookworm) |
x86_64 | d12.x86_64 |
|||||
Debian 12 (bookworm) |
aarch64 | d12.aarch64 |
|||||
Debian 11 (bullseye) |
x86_64 | d11.x86_64(历史) |
|||||
Debian 11 (bullseye) |
aarch64 | - |
Debian 11 已经于 2024-07 进入 EOL。如需在老旧操作系统上获得扩展支持,请考虑我们的 专业订阅服务。
Vagrant
当您使用本地虚拟机部署 Pigsty 时,可以考虑使用以下 Vagrant 操作系统镜像,这也是 Pigsty 开发测试使用的镜像。
| 系统 | 镜像 |
|---|---|
| Rocky 8.10 | cloud-image/rocky-8 |
| Rocky 9.8 | cloud-image/rocky-9 |
| Rocky 10.2 | cloud-image/rocky-10 |
| Debian 12.15 | cloud-image/debian-12 |
| Debian 13.6 | cloud-image/debian-13 |
| Ubuntu 22.04.5 | cloud-image/ubuntu-22.04 |
| Ubuntu 24.04.4 | cloud-image/ubuntu-24.04 |
| Ubuntu 26.04.0 | cloud-image/ubuntu-26.04 |
Terraform
当您使用云服务器部署 Pigsty 时,可以考虑在 Terraform 中使用以下操作系统基础镜像,以 阿里云 为例:
| x86_64 | 阿里云镜像前缀 |
|---|---|
| Rocky 8.10 | rockylinux_8_10_x64 |
| Rocky 9.8 | rockylinux_9_8_x64 |
| Rocky 10.2 | rockylinux_10_2_x64 |
| Ubuntu 22.04.5 | ubuntu_22_04_x64_20G |
| Ubuntu 24.04.4 | ubuntu_24_04_x64_20G |
| Ubuntu 26.04.0 | ubuntu_26_04_x64_20G |
| Debian 12.15 | debian_12_15_x64 |
| Debian 13.6 | debian_13_6_x64 |
| aarch64 | 阿里云镜像前缀 |
|---|---|
| Rocky 8.10 | rockylinux_8_10_arm64 |
| Rocky 9.8 | rockylinux_9_8_arm64 |
| Rocky 10.2 | rockylinux_10_2_arm64 |
| Ubuntu 22.04.5 | ubuntu_22_04_arm64_20G |
| Ubuntu 24.04.4 | ubuntu_24_04_arm64_20G |
| Ubuntu 26.04.0 | ubuntu_26_04_arm64_20G |
| Debian 12.15 | debian_12_15_arm64 |
| Debian 13.6 | debian_13_6_arm64 |
2 - 模块列表
正式模块
| 模块 | 类别 | 状态 | 文档入口 | 简介 |
|---|---|---|---|---|
PGSQL |
核心 | GA | /docs/pgsql |
高可用 PostgreSQL 集群,内置备份、监控、SOP 与扩展生态。 |
INFRA |
核心 | GA | /docs/infra |
本地软件仓库 + VictoriaMetrics/Logs/Traces + Grafana 等基础设施。 |
NODE |
核心 | GA | /docs/node |
节点初始化与收敛:系统调优、管理员、HAProxy、Vector、Keepalived 等。 |
ETCD |
核心 | GA | /docs/etcd |
PostgreSQL 高可用 DCS(服务发现、配置、选主元数据)。 |
MINIO |
扩展 | GA | /docs/minio |
部署 Silo S3 兼容对象存储,可作为 PostgreSQL 备份仓库。 |
REDIS |
扩展 | GA | /docs/redis |
Redis(默认)或 Valkey 的独立/哨兵/集群模式部署与监控。 |
DOCKER |
扩展 | GA | /docs/docker |
Docker Daemon 及容器化应用运行基础能力。 |
JUICE |
扩展 | BETA | /docs/juice |
JuiceFS 分布式文件系统,使用 PostgreSQL 作为元数据引擎。 |
VIBE |
扩展 | BETA | /docs/vibe |
浏览器化开发环境,集成 Code-Server、JupyterLab、Node.js、Claude Code 与 Codex CLI。 |
KAFKA |
扩展 | BETA | /docs/kafka |
Apache Kafka 4.x dynamic KRaft 集群部署、安全基线与监控。 |
核心模块
Pigsty 提供了四个 基础 功能模块,对于提供完整高可用的 PostgreSQL 服务非常重要:
PGSQL:带有高可用,时间点恢复,IaC,SOP,监控系统,以及 575 个扩展插件的自治的 PostgreSQL 集群。INFRA:本地软件仓库、VictoriaMetrics、VictoriaLogs、VictoriaTraces、Grafana、Alertmanager、Blackbox Exporter…NODE:调整节点到所需状态、名称、时区、NTP、SSH、sudo、HAProxy、Vector、KeepalivedETCD:分布式键值存储,用作高可用 Postgres 集群的 DCS:共识选主/配置管理/服务发现。
尽管这四个模块通常会同时安装,但单独使用也是可行的 —— 只有 NODE 模块通常是必选的。
扩展模块
Pigsty 提供了六个 扩展 功能模块,它们对于核心功能来说并非必须,但可以用于增强 PostgreSQL 的能力:
MINIO:S3 兼容对象存储模块,通过统一清单部署 Silo,可作为 PostgreSQL 备份仓库并提供对应监控。REDIS:Redis 服务器,高性能数据结构服务器,支持独立主从、哨兵、集群模式生产部署,并带有完善的监控支持。DOCKER:Docker Daemon 服务,允许用户一键拉起容器化的无状态软件工具模板,为 Pigsty 加装各种功能!JUICE:JuiceFS 分布式文件系统模块,以 PostgreSQL 作为元数据引擎,提供可共享的 POSIX 存储能力。VIBE:浏览器化开发环境模块,集成 Code-Server、JupyterLab、Node.js、Claude Code 与 Codex CLI。KAFKA:Apache Kafka 4.x dynamic KRaft 集群,提供 TLS/SCRAM/ACL 安全基线、声明式 Topic/User 与完整监控。
生态模块
以下模块与 PostgreSQL 生态紧密相关,属于可选生态能力,不计入上述 10 个正式模块:
SUPABASE、DUCKDB:外围生态整合能力。MSSQL、IVORY、POLAR、CITUS、CLOUDBERRY、PGEDGE:内核替代、分布式与 MPP 形态。MYSQL兼容内核(OpenHalo)、ORIOLE、PGTDE、AGENS:协议兼容、存储引擎、透明加密与图数据库内核。这里的MYSQL是pg_mode=mysql的 PostgreSQL 兼容内核,不是原生 MySQL 服务。GREENPLUM、NEON:保留历史文档,不再作为默认开放能力。MYSQL原生试点:当前mysql.yml/mysql-rm.yml与roles/mysql*管理固定的原生 MySQL 8.4 平台,支持单节点或三节点单主 InnoDB Cluster;仍为 PILOT,不计入上述 10 个正式模块。KUBE、VICTORIA、JUPYTER:其他试点模块,当前不对外开放使用。
3 - 文件结构
Pigsty FHS
Pigsty 的主目录默认放置于 ~/pigsty,该目录下的文件结构如下所示:
~/pigsty 源码树
- app/
- 应用模板资源
- bin/
- 管理与运维脚本
- files/
- victoria/
- 规则与运维脚本
- grafana/
- Grafana 仪表盘
- postgres/
- PostgreSQL 管理脚本
- migration/
- 数据迁移任务定义
- pki/
- 自签名 CA 与证书
- victoria/
- roles/
- Ansible 角色实现
- templates/
- Ansible 模板文件
- vagrant/
- Vagrant 沙箱定义
- terraform/
- Terraform 云资源模板
- configure
- ansible.cfg
- pigsty.yml
- *.yml
/infra 是 /data/infra 的运行时软链接,集中存放可观测性数据与生成的配置:
CA FHS
Pigsty 的 自签名 CA 位于 Pigsty 主目录下的 files/pki/。
你必须妥善保管 CA 的密钥文件:files/pki/ca/ca.key,该密钥是在 deploy.yml 或 infra.yml 的 ca 角色负责生成的。
被 Pigsty 所管理的节点将安装以下证书文件:
所有 infra 节点都会有以下证书:
当您的管理节点出现故障时,files/pki 目录与 pigsty.yml 文件应当在备份的管理节点上可用。你可以用 rsync 做到这一点。
INFRA FHS
infra 角色会创建 infra_data(默认 /data/infra)并建立 /infra -> /data/infra 软链接。/data/infra 的权限为 root:infra 0771,子目录默认权限为 *:infra 0750,覆盖项如下:
上述结构由以下实现生成:roles/infra/tasks/dir.yml、roles/infra/tasks/victoria.yml、roles/infra/tasks/register.yml、roles/infra/tasks/dns.yml、roles/infra/tasks/env.yml。
NODE FHS
节点的数据目录由参数 node_data 指定,默认为 /data,由 root:root 持有,权限为 0755。
多数核心组件的默认数据目录位于这个目录下;个别试点模块使用自身固定目录,如原生 MySQL 8.4 当前使用 /var/lib/mysql:
HAProxy
Pigsty 使用自带的 systemd 单元启动 HAProxy,并将主配置与服务片段分开管理:
如需在 /etc/default/haproxy 中追加启动参数,请使用 EXTRAOPTS,并保留默认的 -S /run/haproxy-master.sock;配置文件已经由 systemd 单元通过 -f 显式加载,不要再把 -f 写入 EXTRAOPTS。
Victoria FHS
监控配置已经从旧的 /etc/prometheus 目录布局迁移为 /infra 运行时布局。主配置模板位于 roles/infra/templates/victoria/prometheus.yml,渲染结果为 /infra/prometheus.yml。
files/victoria/bin/* 与 files/victoria/rules/* 会被同步到 /infra/bin/ 与 /infra/rules/,各模块再向 /infra/targets/* 注册 FileSD 目标。
Pigsty 自行渲染的 INFRA 单元统一位于 /etc/systemd/system/,包括 vmetrics、vlogs、vtraces、vmalert、alertmanager、blackbox_exporter、nginx_exporter 与 dnsmasq;发行版软件包自带的单元目录不是这些角色的写入目标。
Postgres FHS
以下参数和内部变量均与 PostgreSQL 数据库目录结构相关:
pg_dbsu_home: Postgres 默认用户的家目录,默认为/var/lib/pgsqlpg_bin_dir: Postgres 二进制目录,默认为/usr/pgsql/bin/pg_fs_main:Postgres 主数据目录,默认为/data/postgrespg_fs_backup:Postgres 备份盘挂载点,默认为/data/backups(可选,也可以选择备份到主数据盘上的子目录)pg_data:内部变量,固定表示 Postgres 数据目录软链/pg/datapg_cluster_dir:派生变量,{{ pg_fs_main }}/{{ pg_cluster }}-{{ pg_version }}pg_backup_dir:派生变量,{{ pg_fs_backup }}/{{ pg_cluster }}-{{ pg_version }}
数据文件结构
二进制文件结构
在 EL 兼容发行版上(使用 yum),PostgreSQL 默认安装位置为
Pigsty 会创建一个名为 /usr/pgsql 的软连接,指向由 pg_version 参数指定的实际版本,例如
因此,默认的 pg_bin_dir 是 /usr/pgsql/bin/,而该路径会被添加至系统的 PATH 环境变量中,定义文件为:/etc/profile.d/pgsql.sh.
在 Ubuntu/Debian 上,PostgreSQL Deb 包的默认安装位置是:
Pigsty 渲染的 PostgreSQL 运行单元同样统一位于 /etc/systemd/system/,主要包括 patroni.service、postgres.service、pgbouncer.service、pg_exporter.service、pgbackrest_exporter.service、pgbouncer_exporter.service,以及启用 VIP 时的 vip-manager.service。
Pgbouncer FHS
Pgbouncer 使用与 {{ pg_dbsu }}(默认为 postgres)相同的用户运行,配置文件位于 /etc/pgbouncer。
pgbouncer.ini:连接池主配置文件(postgres:postgres 0640)database.txt:定义连接池中的数据库(postgres:postgres 0600)useropts.txt:业务用户连接参数(postgres:postgres 0600)userlist.txt:由/pg/bin/pgb-user维护的用户密码文件pgb_hba.conf:连接池访问控制文件(postgres:postgres 0600)
Object Storage FHS
MINIO 模块当前只部署 Silo,但继续使用 minio_* 参数与目录命名保持兼容:
Silo 的证书位于 /home/minio/.minio/certs/。模块名、角色参数、数据目录和 FileSD 路径仍使用 MINIO / minio_* 兼容命名。
Redis FHS
Pigsty 使用同一套目录与实例命名管理 Redis 或 Valkey。
服务单元会按 redis_type 调用对应二进制(/bin/* 在多数发行版上与 /usr/bin/* 兼容):
对于一个名为 redis-test-1-6379 的 Redis 实例,与其相关的资源如下所示:
Pigsty 渲染的 Redis/Valkey 实例与 exporter 单元统一放在 /etc/systemd/system/,实例单元使用 Type=notify;软件包自带的单元可能仍位于发行版目录,但不是角色写入的位置。
4 - 参数列表
本文是 Pigsty v4.x 的参数导航页,不重复展开每个参数的详细解释。
参数细节请进入各模块的 param 页面查看。
按照当前源码与参数参考页逐项对账,10 个正式模块合计 373 个公开参数。原生 MySQL 8.4 仍是试点模块,其 13 个公开参数单列,不计入正式模块合计。
模块参数导航
| 模块 | 参数组 | 参数量 | 说明 |
|---|---|---|---|
PGSQL |
9 | 124 | PostgreSQL 高可用集群配置 |
INFRA |
10 | 73 | 软件仓库与 Victoria 可观测基础设施 |
NODE |
11 | 73 | 节点初始化、系统调优与运维基线 |
ETCD |
2 | 13 | ETCD 集群与移除保护参数 |
MINIO |
2 | 22 | Silo 部署、观测与移除参数 |
REDIS |
2 | 22 | Redis/Valkey 部署与移除参数 |
DOCKER |
1 | 8 | Docker 引擎参数 |
JUICE |
1 | 2 | JuiceFS 实例与缓存参数 |
VIBE |
1 | 18 | Code/Jupyter/Node.js/Claude/Codex 配置 |
KAFKA |
2 | 18 | Kafka 部署参数与移除保护参数 |
试点模块:原生 MYSQL 8.4 当前公开 13 个参数,其中 11 个用于部署、2 个用于受保护移除;固定的端口、路径、软件版本和定时器不属于公开参数。
参数组速览
使用建议
5 - 剧本列表
本文汇总 Pigsty v4.x 各模块剧本入口与执行要点,详细任务标签请进入对应模块 playbook 文档。
模块剧本导航
| 模块 | 数量 | 剧本 |
|---|---|---|
INFRA |
3 | deploy.yml infra.yml infra-rm.yml |
NODE |
2 | node.yml node-rm.yml |
ETCD |
2 | etcd.yml etcd-rm.yml |
PGSQL |
7 | pgsql.yml pgsql-rm.yml pgsql-user.yml pgsql-db.yml pgsql-monitor.yml pgsql-migration.yml pgsql-pitr.yml |
REDIS |
2 | redis.yml redis-rm.yml |
MINIO |
2 | minio.yml minio-rm.yml |
DOCKER |
1 | docker.yml |
JUICE |
1 | juice.yml |
VIBE |
1 | vibe.yml |
KAFKA |
2 | kafka.yml kafka-rm.yml |
MYSQL(试点) |
2 | mysql.yml mysql-rm.yml |
剧本总表
| 剧本 | 模块 | 主要用途 |
|---|---|---|
deploy.yml |
INFRA |
一次性部署核心链路(Infra/Node/Etcd/PGSQL,按配置启用 MINIO) |
infra.yml |
INFRA |
初始化基础设施节点 |
infra-rm.yml |
INFRA |
移除基础设施组件 |
node.yml |
NODE |
节点纳管与基线配置 |
node-rm.yml |
NODE |
节点去纳管 |
etcd.yml |
ETCD |
ETCD 安装/扩容 |
etcd-rm.yml |
ETCD |
ETCD 移除/缩容 |
pgsql.yml |
PGSQL |
初始化 PostgreSQL 集群或新增实例 |
pgsql-rm.yml |
PGSQL |
移除 PostgreSQL 集群/实例 |
pgsql-user.yml |
PGSQL |
增加业务用户 |
pgsql-db.yml |
PGSQL |
增加业务数据库 |
pgsql-monitor.yml |
PGSQL |
纳管远程 PostgreSQL 监控 |
pgsql-migration.yml |
PGSQL |
生成迁移手册与脚本 |
pgsql-pitr.yml |
PGSQL |
时间点恢复(PITR) |
redis.yml |
REDIS |
Redis 部署 |
redis-rm.yml |
REDIS |
Redis 移除 |
minio.yml |
MINIO |
Silo 部署 |
minio-rm.yml |
MINIO |
移除 Silo、配置与可选数据 |
docker.yml |
DOCKER |
Docker 引擎部署 |
juice.yml |
JUICE |
JuiceFS 实例部署/移除 |
vibe.yml |
VIBE |
VIBE 开发环境部署 |
kafka.yml |
KAFKA |
创建或收敛完整的 dynamic KRaft 集群 |
kafka-rm.yml |
KAFKA |
移除 Kafka 集群,或安全退役单个成员 |
mysql.yml |
MYSQL |
收敛原生 MySQL 8.4 单节点或三节点 InnoDB Cluster(试点) |
mysql-rm.yml |
MYSQL |
停止/退役原生 MySQL 实例或集群并保留本地状态(试点) |
辅助剧本
以下剧本不归属于特定模块,提供一些辅助功能。
| 剧本 | 说明 |
|---|---|
cache.yml |
构建离线安装包缓存 |
cert.yml |
使用 Pigsty CA 签发证书 |
app.yml |
使用 Docker Compose 安装应用模板 |
slim.yml |
最小化组件安装场景 |
剧本使用注意事项
保护机制
多个模块提供了防误删保险,通过 *_safeguard 参数控制:
- PGSQL:
pg_safeguard参数用于防止误删 PostgreSQL 集群 - ETCD:
etcd_safeguard参数用于防止误删 Etcd 集群 - MINIO:
minio_safeguard参数用于防止误删 Silo 集群 - REDIS:
redis_safeguard参数用于防止误删 Redis 实例 - KAFKA:
kafka_safeguard参数用于阻止 Kafka 移除剧本 - MYSQL(试点):
mysql_safeguard与精确匹配的mysql_rm_confirm共同保护原生 MySQL 退役流程
PGSQL、ETCD、MINIO、REDIS 与 KAFKA 的角色默认值均显式为 false;生产环境可在已初始化的集群上设置为 true。原生 MySQL 试点相反:mysql_safeguard 默认是 true,且即使显式关闭,也必须提供与目标实例或集群完全一致的 mysql_rm_confirm。
当保护开关设置为 true 时,对应的 *-rm.yml 剧本会立即中止执行,防止误删。可以通过命令行参数强制覆盖:
限制执行范围
执行剧本时建议使用 -l 参数限制命令执行的对象范围:
在大规模部署上批量执行时,建议先在单集群灰度验证,再分批执行到全局。
幂等性
大部分剧本都是幂等的,可以重复执行。但需要注意:
infra.yml默认 不会 清除数据,可安全重复执行。所有 clean 参数(vmetrics_clean、vlogs_clean、vtraces_clean、grafana_clean、nginx_clean)默认均为false- 如需清除基础设施数据重建,需显式设置对应的 clean 参数为
true - 重复执行
*-rm.yml删除剧本需格外小心,确保在正确的目标上执行
任务标签
可以使用 -t 参数只执行特定的任务子集:
常用命令速查
INFRA 模块
NODE 模块
ETCD 模块
PGSQL 模块
REDIS 模块
MINIO 模块
DOCKER 模块
KAFKA 模块
普通收敛的 -l 必须包含所选 Kafka 集群的全部已声明成员;kafka-rm.yml 才支持选择单个成员执行退役。
MYSQL 试点模块
mysql-rm.yml 会停止服务、写入退役标记并注销监控,但不会删除数据目录、备份、配置、证书、软件包或 InnoDB Cluster 元数据。
6 - 端口列表
以下为 Pigsty 中各模块组件使用的默认端口及其对应参数,您可以按需调整,或者作为内部防火墙精细配置的参考。
| 模块 | 组件 | 端口 | 参数 | 状态 |
|---|---|---|---|---|
NODE |
node_exporter |
9100 |
node_exporter_port |
✅ 默认启用 |
NODE |
haproxy |
9101 |
haproxy_exporter_port |
✅ 默认启用 |
NODE |
vector |
9598 |
vector_port |
✅ 默认启用 |
NODE |
keepalived_exporter |
9650 |
vip_exporter_port |
⚠️ 按需启用 |
NODE |
chronyd |
123 |
- | ✅ 默认启用 |
DOCKER |
docker |
9323 |
docker_exporter_port |
⚠️ 按需启用 |
INFRA |
nginx |
80 |
nginx_port |
✅ 默认启用 |
INFRA |
nginx |
443 |
nginx_ssl_port |
✅ 默认启用 |
INFRA |
nginx_exporter |
9113 |
nginx_exporter_port |
✅ 默认启用 |
INFRA |
grafana |
3000 |
grafana_port |
✅ 默认启用 |
INFRA |
victoriaMetrics |
8428 |
vmetrics_port |
✅ 默认启用 |
INFRA |
victoriaLogs |
9428 |
vlogs_port |
✅ 默认启用 |
INFRA |
victoriaTraces |
10428 |
vtraces_port |
✅ 默认启用 |
INFRA |
vmalert |
8880 |
vmalert_port |
✅ 默认启用 |
INFRA |
alertmanager |
9059 |
alertmanager_port |
✅ 默认启用 |
INFRA |
blackbox_exporter |
9115 |
blackbox_port |
✅ 默认启用 |
INFRA |
dnsmasq |
53 |
dns_port |
✅ 默认启用 |
ETCD |
etcd |
2379 |
etcd_port |
✅ 默认启用 |
ETCD |
etcd |
2380 |
etcd_peer_port |
✅ 默认启用 |
MINIO |
Silo S3 API | 9000 |
minio_port |
⚠️ 按需启用 |
MINIO |
Silo 管理端口 | 9001 |
minio_admin_port |
⚠️ 按需启用 |
REDIS |
Redis / Valkey | 6379 |
redis_instances |
⚠️ 按需启用 |
REDIS |
redis_exporter |
9121 |
redis_exporter_port |
⚠️ 按需启用 |
VIBE |
code-server |
8443 |
code_port |
⚠️ 按需启用 |
VIBE |
jupyterlab |
8888 |
jupyter_port |
⚠️ 按需启用 |
KAFKA |
broker |
9092 |
kafka_port |
🧪 BETA |
KAFKA |
KRaft controller |
9093 |
kafka_controller_port |
🧪 BETA |
KAFKA |
kafka_exporter |
9308 |
kafka_exporter_port |
🧪 BETA |
KAFKA |
JMX exporter |
9404 |
kafka_jmx_exporter_port |
🧪 BETA |
MYSQL |
mysqld |
3306 |
固定值(当前试点不提供端口参数) | 🧪 PILOT |
MYSQL |
MySQL X Protocol |
33060 |
固定值;单节点仅绑定回环地址,三节点拓扑对成员地址监听 | 🧪 PILOT |
MYSQL |
Group Replication |
33061 |
固定值;仅三节点 InnoDB Cluster | 🧪 PILOT |
MYSQL |
MySQL Router RW |
6446 |
固定值;仅三节点 InnoDB Cluster | 🧪 PILOT |
MYSQL |
MySQL Router RO |
6447 |
固定值;仅三节点 InnoDB Cluster | 🧪 PILOT |
MYSQL |
mysqld_exporter |
9104 |
固定值;受 mysql_exporter_enabled 控制 |
🧪 PILOT |
PGSQL |
postgres |
5432 |
pg_port |
✅ 默认启用 |
PGSQL |
pgbouncer |
6432 |
pgbouncer_port |
✅ 默认启用 |
PGSQL |
patroni |
8008 |
patroni_port |
✅ 默认启用 |
PGSQL |
pg_exporter |
9630 |
pg_exporter_port |
✅ 默认启用 |
PGSQL |
pgbouncer_exporter |
9631 |
pgbouncer_exporter_port |
✅ 默认启用 |
PGSQL |
pgbackrest_exporter |
9854 |
pgbackrest_exporter_port |
✅ 默认启用 |
PGSQL |
{{ pg_cluster }}-primary |
5433 |
pg_default_services |
✅ 默认启用 |
PGSQL |
{{ pg_cluster }}-replica |
5434 |
pg_default_services |
✅ 默认启用 |
PGSQL |
{{ pg_cluster }}-default |
5436 |
pg_default_services |
✅ 默认启用 |
PGSQL |
{{ pg_cluster }}-offline |
5438 |
pg_default_services |
✅ 默认启用 |
PGSQL |
{{ pg_cluster }}-<service> |
543x |
pg_services |
⚠️ 按需启用 |
原生 MySQL 试点的 MySQL Shell AdminAPI 复用 3306,XtraBackup 由本机 Systemd 定时任务调用,没有独立监听端口;MySQL Router 的 REST 管理接口被角色显式禁用。上表只列出当前角色实际管理的网络入口。
公网开放端口建议
如果您使用防火墙 zone 模式,建议通过 node_firewall_public_port 仅开放最小必要端口:
- 最小管理面:
22, 80, 443(推荐) - 需要公网直连数据库:额外开放
5432
不建议直接对公网开放:etcd(2379/2380)、patroni(8008)、各类 exporter(9xxx)、对象存储 S3/管理端口(9000/9001)、redis(6379)、ferretdb(27017/27018)、Kafka(9092/9093)及 MySQL Group Replication(33061)等内部组件端口。