核心概念

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

节点是硬件资源的抽象,它可以是裸机、虚拟机、容器或者是 k8s pods:只要装着操作系统,可以使用 CPU/内存/磁盘/网络 资源就行。

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

单机安装时,当前节点会被同时视作为管理节点、基础设施节点、PGSQL 节点,当然,它也是一个普通的节点。


普通节点

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

组件 端口 描述 状态
Node Exporter 9100 节点监控指标导出器 默认启用
HAProxy Admin 9101 HAProxy 管理页面 默认启用
Promtail 9080 日志收集代理 默认启用
Docker Daemon 9323 启用容器支持 按需启用
Keepalived - 负责管理主机集群 L2 VIP 按需启用
Keepalived Exporter 9650 负责监控 Keepalived 状态 按需启用

此外,您可以为节点选装 Docker 与 Keepalived(及其监控 keepalived exporter),这两个组件默认不启用。


ADMIN节点

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

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

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


INFRA节点

一套 Pigsty 部署可能有一个或多个 基础设施节点(INFRA节点),在大型生产环境中可能会有 2 ~ 3 个。

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

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

组件 端口 域名 描述
Nginx 80 h.pigsty Web服务门户(也用作yum/atp仓库)
AlertManager 9093 a.pigsty 告警聚合分发
Prometheus 9090 p.pigsty 时间序列数据库(收存监控指标)
Grafana 3000 g.pigsty 可视化平台
Loki 3100 - 日志收集服务器
PushGateway 9091 - 接受一次性的任务指标
BlackboxExporter 9115 - 黑盒监控探测
DNSMASQ 53 - DNS 服务器
Chronyd 123 - NTP 时间服务器
PostgreSQL 5432 - Pigsty CMDB 和默认数据库
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 节点监控指标导出器 默认启用
Promtail 9080 收集数据库组件与主机日志 默认启用
vip-manager - 将 VIP 绑定到主节点 按需启用
Docker Daemon 9323 Docker 守护进程 按需启用
keepalived - 为整个集群绑定 L2 VIP 按需启用
Keepalived Exporter 9650 Keepalived 指标导出器 按需启用

最后修改 2025-03-01: refactor docs (caae0ad)