核心概念

介绍 Node 集群中涉及到的重要概念

节点是硬件资源的抽象,可以是物理机,裸金属、虚拟机、容器或 K8s pods。 只要装着 Linux 操作系统(以及 systemd 守护进程),能使用 CPU/内存/磁盘/网络 等标准资源即可。

Pigsty 中存在不同类型节点,区别在于安装了不同的 模块

单机安装 Pigsty 时,四者合一,当前节点将同时作为普通节点,管理节点、基础设施节点,以及数据库节点。


普通节点

使用 Pigsty 管理节点,可在其上安装模块。node.yml 剧本将调整节点至所需状态。以下服务默认会被添加到所有节点:

组件端口描述状态
Node Exporter9100节点监控指标导出器默认启用
HAProxy Admin9101HAProxy 管理页面默认启用
Vector9598日志收集代理默认启用
Docker Daemon9323启用容器支持按需启用
Keepalived管理主机集群 L2 VIP按需启用
Keepalived Exporter9650监控 Keepalived 状态按需启用

可为节点选装 Docker 与 Keepalived 及其监控组件,这两个默认不启用。


ADMIN节点

一套 Pigsty 部署中有且只有一个管理节点,由 admin_ip 指定。在单机安装配置过程中,设置为该机器的首要 IP 地址。

该节点拥有对所有其他节点的 ssh/sudo 访问权限。管理节点的安全至关重要,请确保它的访问受到严格控制。

通常管理节点与基础设施节点(INFRA 节点)重合。若有多个 INFRA 节点,管理节点通常是其中第一个,其他作为备份。


INFRA节点

一套 Pigsty 部署可能有 1 个或多个 INFRA 节点,大型生产环境可能有 2-3 个。

配置清单中的 infra 分组指定哪些节点是 INFRA 节点,这些节点安装 INFRA 模块(DNS、Nginx、Prometheus、Grafana 等)。

管理节点通常是 INFRA 节点分组中的第一个,其他 INFRA 节点可被用作备用管理节点。

组件端口域名描述
Nginx80i.pigstyWeb 服务门户(软件仓库)
Grafana3000-可视化平台
VictoriaMetrics9090-时序数据库(收存监控指标)
VictoriaLogs9428日志收集服务器
VictoriaTraces10428日志收集服务器
vmalert8880日志收集服务器
AlertManager9093-告警聚合分发
BlackboxExporter9115黑盒监控探测
DNSMASQ53DNS 服务器
Chronyd123NTP 时间服务器
Ansible运行剧本

PGSQL节点

安装了 PGSQL 模块的节点被称为 PGSQL 节点。节点与 PostgreSQL 实例为 1:1 部署。

PGSQL 节点可从相应 PostgreSQL 实例借用身份,由 node_id_from_pg 参数控制。

组件端口描述状态
Postgres5432PostgreSQL 数据库默认启用
Pgbouncer6432Pgbouncer 连接池默认启用
Patroni8008Patroni 高可用组件默认启用
HAProxy Primary5433主连接池:读/写服务默认启用
HAProxy Replica5434副本连接池:只读服务默认启用
HAProxy Default5436主直连服务默认启用
HAProxy Offline5438离线直连:离线读服务默认启用
HAProxy service543xPostgreSQL 定制服务按需定制
HAProxy Admin9101监控指标和流量管理默认启用
PG Exporter9630PG 监控指标导出器默认启用
PGBouncer Exporter9631PGBouncer 监控指标导出器默认启用
Node Exporter9100节点监控指标导出器默认启用
Vector9598收集数据库组件与主机日志默认启用
vip-manager将 VIP 绑定到主节点按需启用
Docker Daemon9323Docker 守护进程按需启用
keepalived为整个集群绑定 L2 VIP按需启用
Keepalived Exporter9650Keepalived 指标导出器按需启用

最后修改 2025-12-31: routine doc polish (6193687)