PIGSTY

沙箱环境

用于学习和测试的 4 节点环境

Pigsty 有一个沙盒,这是一个具有固定 IP 地址和其他标识符的 4 节点部署。

我们将使用它作为学习和测试目的的标准演示环境。

pigsty-sandbox.jpg


描述

沙盒由具有固定 IP 地址和身份的 4 个节点组成:

IDIP 地址NODEPGSQLINFRAETCDMINIO
110.10.10.10metapg-meta-1infra-1etcd-1minio-1
210.10.10.11node-1pg-test-1
310.10.10.12node-2pg-test-1
410.10.10.13node-3pg-test-1

meta 节点上有一个主要的单例 PostgreSQL 集群:pg-meta, 它可以独立使用,还有一个可选的 L2 VIP 10.10.10.2 和集群 DNS pg-meta 绑定到它。

10.10.10.10 meta pg-meta-1
10.10.10.2  pg-meta

沙盒中还有三个额外的节点,组成一个 3 实例的 PostgreSQL HA 集群 pg-test。 有一个可选的 L2 VIP 10.10.10.3 和集群 DNS pg-test 绑定到集群领导者。

10.10.10.11 node-1 pg-test-1
10.10.10.12 node-2 pg-test-2
10.10.10.13 node-3 pg-test-3
10.10.10.3  pg-test

meta 节点上还有一个 1 节点的 etcd 集群和 1 节点的 minio 集群。

10.10.10.10 minio-1
10.10.10.10 etcd-1

实现

您可以使用 Vagrant 创建本地沙盒,或使用 Terraform 创建云沙盒。

要使用本地 vagrant 模板:

make full9     # 使用 RockyLinux 9 创建 4 节点沙盒
make full12     # 使用 Debian 12 创建 4 节点沙盒
make full24     # 使用 Ubuntu 24.04 创建 4 节点沙盒

要使用云 terraform 模板,请使用 spec/aliyun-full.tf 作为示例, 阿里云 4 节点沙盒模板适用于所有发行版和 amd/arm。

make tu     # terraform up
make td     # terraform destroy
make tssh   # 将 ssh 别名写入 ~/.ssh/pigsty_config