沙箱环境
介绍Pigsty的沙箱环境,一个配置规格、对象标识符、与默认数据库预先确定的环境,用于教学演示之用。
尽管安装Pigsty已经非常简单了,但是搭建满足要求虚拟机仍然是比较费事的,您可能需要用到各类虚拟机软件。
因此Pigsty提供了沙箱环境,进一步免除用户准备环境的烦恼。完整地创建并跑通沙箱安装部署流程,对于在生产环境中部署有Pigsty 很大的帮助。
沙箱环境简介
沙箱环境是一个配置规格、对象标识符、与默认数据库预先确定的环境,无论是本地版还是云端版都保持一致。
沙箱环境使用固定的IP地址,以便于演示说明,沙箱的元节点IP地址固定为:10.10.10.10
。10.10.10.10
也是所有配置文件模板中元节点IP地址的占位符,执行 配置 时,该IP地址会被作为元节点的实际IP地址
您可以使用单节点沙箱,这种部署下,只有一个元节点meta
,节点上部署有完整的基础设施,和一个单例Postgres数据库pg-meta
。
meta 10.10.10.10 pg-meta.pg-meta-1
单节点沙箱则适合用于个人开发、实验、学习;作为数据分析与可视化的环境;以及设计、演示、分发交互式数据应用,四节点沙箱可以完整演示Pigsty的功能,充分探索高可用架构与监控系统的能力,请您自行按需选择。
在四节点沙箱环境中,有三个额外的节点,与一个额外一套三节点PostgreSQL集群 pg-test
node-1 10.10.10.11 pg-test.pg-test-1
node-2 10.10.10.12 pg-test.pg-test-2
node-3 10.10.10.13 pg-test.pg-test-3
同时,沙箱环境还会使用以下两个IP地址与两条静态DNS记录,用于接入数据库集群。
10.10.10.2 pg-meta
10.10.10.2 pg-test
Pigsty提供了基于Vagrant的本地沙箱(使用Virtualbox拉起本地虚拟机),以及基于Terraform的云端沙箱(使用云厂商API创建虚拟机)。
本地沙箱可以在普通Mac/PC上运行,不需要任何费用,但若想在本机运行完整的4节点沙箱环境,您的Mac/PC应当至少有 4C/8G的硬件规格。
云端沙箱可以方便地向他人展示与共享,使用前需要您创建一个云账号,虚拟机资源按需创建使用,用后可以一键销毁,会有一些费用(通常非常便宜,一天几块钱)
沙箱环境部署
Pigsty设计了一个标准的,4节点的演示教学环境,称为沙箱环境,使用Vagrant或Terraform快速在本机或公有云上拉起所需的四台虚拟机资源,并进行部署测试。跑通流程后稍作修改,便可用于生产环境部署。
]
以默认的沙箱环境为例,假设您已经在10.10.10.10
元节点上完成单机Pigsty的安装:
./infra.yml # 在沙箱环境的 10.10.10.10 meta 机器上,完成完整的单机Pigsty安装
主机初始化
现希望将三个节点:10.10.10.11
, 10.10.10.12
, 10.10.10.13
纳入管理,则可使用 nodes.yml 剧本:
./nodes.yml -l pg-test # 初始化集群pg-test包含的三台机器节点(配置节点+纳入监控)
执行完毕后,这三台节点已经带有DCS服务,主机监控与日志收集。可以用于后续的数据库集群部署。详情请参考节点 配置 与 剧本。
PostgreSQL部署
使用 pgsql.yml 剧本,可以在这三台节点上初始化一主两从的高可用PostgreSQL数据库集群 pg-test
。
./pgsql.yml -l pg-test # 初始化高可用PGSQL数据库集群pg-test
部署完成后,即可从监控系统 中看到新创建的PostgreSQL集群。
Redis部署
除了标准的PostgreSQL集群,您还可以部署各种其他类型的集群,甚至其他类型的数据库。
例如在沙箱中部署Redis,可以使用Redis数据库集群 配置 与 剧本。
./nodes.yml # 配置所有用于安装Redis的节点
./redis.yml # 在所有节点上按照配置声明Redis
MatrixDB部署
例如在沙箱中部署开源数据仓库MatrixDB(Greenplum7),可以使用以下命令:
./configure -m mxdb # 使用沙箱环境MatrixDB配置文件模板
./download matrix # 下载MatrixDB软件包并构建本地源
./infra.yml -e no_cmdb=true # 如果您准备在meta节点上部署 MatrixDB Master,添加no_cmdb选项,否则正常安装即可。
./nodes.yml # 配置所有用于安装MatrixDB的节点
./pigsty-matrixdb.yml # 在上述节点上安装MatrixDB
最后修改 2022-05-27: init commit (1e3e284)