核心概念
节点是硬件资源的抽象,可以是物理机,裸金属、虚拟机、容器或 K8s pods。 只要装着 Linux 操作系统(以及 systemd 守护进程),能使用 CPU/内存/磁盘/网络 等标准资源即可。
Pigsty 中存在不同类型节点,区别在于安装了不同的 模块:
- 普通节点:被 Pigsty 管理的节点
- ADMIN 节点:使用 Ansible 发出管理指令的节点(可以是本地笔记本)
- INFRA 节点:安装 INFRA 模块的基础设施节f点
- PGSQL 节点:安装 PGSQL 模块的数据库节点
- 安装了其他模块的节点……
在 单机安装 Pigsty 时,四者合一,当前节点将同时作为普通节点,管理节点、基础设施节点,以及数据库节点。
普通节点
使用 Pigsty 管理节点,可在其上安装模块。node.yml 剧本将调整节点至所需状态。以下服务默认会被添加到所有节点:
| 组件 | 端口 | 描述 | 状态 |
|---|---|---|---|
| Node Exporter | 9100 | 节点监控指标导出器 | 默认启用 |
| HAProxy Admin | 9101 | HAProxy 管理页面 | 默认启用 |
| Vector | 9598 | 日志收集代理 | 默认启用 |
| Docker Daemon | 9323 | 启用容器支持 | 按需启用 |
| Keepalived | — | 管理主机集群 L2 VIP | 按需启用 |
| Keepalived Exporter | 9650 | 监控 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 节点可被用作备用管理节点。
| 组件 | 端口 | 域名 | 描述 |
|---|---|---|---|
| Nginx | 80 | i.pigsty | Web 服务门户(软件仓库) |
| Grafana | 3000 | - | 可视化平台 |
| VictoriaMetrics | 9090 | - | 时序数据库(收存监控指标) |
| VictoriaLogs | 9428 | — | 日志收集服务器 |
| VictoriaTraces | 10428 | — | 日志收集服务器 |
| vmalert | 8880 | — | 日志收集服务器 |
| AlertManager | 9093 | - | 告警聚合分发 |
| BlackboxExporter | 9115 | — | 黑盒监控探测 |
| DNSMASQ | 53 | — | DNS 服务器 |
| Chronyd | 123 | — | NTP 时间服务器 |
| Ansible | — | — | 运行剧本 |
PGSQL节点
安装了 PGSQL 模块的节点被称为 PGSQL 节点。节点与 PostgreSQL 实例为 1:1 部署。
PGSQL 节点可从相应 PostgreSQL 实例借用身份,由 node_id_from_pg 参数控制。
| 组件 | 端口 | 描述 | 状态 |
|---|---|---|---|
| Postgres | 5432 | PostgreSQL 数据库 | 默认启用 |
| Pgbouncer | 6432 | Pgbouncer 连接池 | 默认启用 |
| Patroni | 8008 | Patroni 高可用组件 | 默认启用 |
| HAProxy Primary | 5433 | 主连接池:读/写服务 | 默认启用 |
| HAProxy Replica | 5434 | 副本连接池:只读服务 | 默认启用 |
| HAProxy Default | 5436 | 主直连服务 | 默认启用 |
| HAProxy Offline | 5438 | 离线直连:离线读服务 | 默认启用 |
HAProxy service | 543x | PostgreSQL 定制服务 | 按需定制 |
| HAProxy Admin | 9101 | 监控指标和流量管理 | 默认启用 |
| PG Exporter | 9630 | PG 监控指标导出器 | 默认启用 |
| PGBouncer Exporter | 9631 | PGBouncer 监控指标导出器 | 默认启用 |
| Node Exporter | 9100 | 节点监控指标导出器 | 默认启用 |
| Vector | 9598 | 收集数据库组件与主机日志 | 默认启用 |
| vip-manager | — | 将 VIP 绑定到主节点 | 按需启用 |
| Docker Daemon | 9323 | Docker 守护进程 | 按需启用 |
| keepalived | — | 为整个集群绑定 L2 VIP | 按需启用 |
| Keepalived Exporter | 9650 | Keepalived 指标导出器 | 按需启用 |