架构
节点类型、架构与核心概念
节点类型、架构与核心概念
“节点”是可通过 SSH 访问、
并提供裸 Linux 环境的资源。它可以是物理机、虚拟机,也可以是带有 systemd、
sudo 和 sshd 的类操作系统容器。
Pigsty 中有三类节点;在单节点部署中,它们是同一台机器。
示例
下面的四节点沙箱包含四个普通节点,其中
10.10.10.10 同时是基础设施节点和管理节点。
普通节点
普通节点默认启用以下组件:
| 组件 | 端口 | 说明 | 默认状态 |
|---|---|---|---|
node_exporter |
9100 |
节点监控指标导出器 | 启用 |
haproxy |
9101 |
HAProxy 管理与指标端口 | 启用 |
promtail |
9080 |
日志采集代理 | 启用 |
以下组件为可选项,可通过参数启用:
| 组件 | 端口 | 说明 | 默认状态 |
|---|---|---|---|
docker |
9323 |
容器服务及指标端口 | 禁用 |
keepalived |
- | 管理节点集群二层 VIP | 禁用 |
keepalived_exporter |
9650 |
监控 Keepalived 状态 | 禁用 |
管理节点
管理节点是最先安装 Pigsty、并发出全部控制命令的节点。
每套 Pigsty 部署只有一个管理节点,由 admin_ip
指定;配置时会将其设置为管理节点的主 IP。
管理节点是最先安装 Pigsty 的节点
管理节点用于向其他节点发出命令,通常与第一个 INFRA 节点重合。
本地笔记本也可作为管理节点
可以在本地笔记本或 Mac 上准备 Pigsty 与 Ansible,并从本机发出管理命令。
基础设施节点
一套部署可以有一个或多个 INFRA 节点;生产环境建议至少两个。配置清单中的
infra 分组指定这些节点,并在其上安装 INFRA 模块。
| 组件 | 端口 | 域名 | 说明 |
|---|---|---|---|
nginx |
80 |
h.pigsty |
Web 服务入口与 YUM/APT 仓库 |
alertmanager |
9059 |
a.pigsty |
告警聚合与投递 |
prometheus |
9058 |
p.pigsty |
监控时序数据库 |
grafana |
3000 |
g.pigsty |
可视化平台 |
loki |
3100 |
- | 日志收集服务器 |
pushgateway |
9091 |
- | 一次性任务指标入口 |
blackbox_exporter |
9115 |
- | 黑盒探测 |
dnsmasq |
53 |
- | DNS 服务 |
chronyd |
123 |
- | NTP 服务 |
ansible |
- | - | 执行 Playbook |
PGSQL 节点
安装 PGSQL 模块的节点称为 PGSQL 节点。节点与 PostgreSQL
实例按 1:1 部署;node_id_from_pg 可让
节点复用 PostgreSQL 实例身份。
| 组件 | 端口 | 说明 | 状态 |
|---|---|---|---|
postgres |
5432 |
由 Patroni 管理的 PostgreSQL 服务 | 启用 |
pgbouncer |
6432 |
连接池 | 启用 |
patroni |
8008 |
PostgreSQL 高可用组件 | 启用 |
primary @ haproxy |
5433 |
主库连接池,读写服务 | 启用 |
replica @ haproxy |
5434 |
从库连接池,只读服务 | 启用 |
default @ haproxy |
5436 |
主库直连服务 | 启用 |
offline @ haproxy |
5438 |
离线实例直连服务 | 启用 |
pg_exporter |
9630 |
PostgreSQL 指标导出器 | 启用 |
pgbouncer_exporter |
9631 |
PgBouncer 指标导出器 | 启用 |
pgbackrest_exporter |
9854 |
pgBackRest 指标导出器 | 启用 |
vip-manager |
- | 将 VIP 绑定到主库 | 禁用 |