INFRA剧本

使用infra系列剧本在元节点上安装Pigsty,并加装可选功能。

剧本功能链接
infra在元节点上完整安装Pigstysrc
infra-demo一次性完整初始化四节点演示沙箱环境的特殊剧本src
infra-remove在元节点上卸载Pigstysrc
infra-jupyter在元节点上加装可选数据分析服务组件组件Jupyter Labsrc
infra-pgweb在元节点上加装可选的Web客户端工具PGWebsrc

infra

infra.yml 剧本会在元节点 (默认为当前节点)上完成Pigsty的安装与部署。

当您将Pigsty用作开箱即用的数据库时,只要在本节点上直接执行 infra.yml ,即可完成安装。

剧本 - 图1

What

执行该剧本将完成以下任务

  • 配置元节点的目录与环境变量
  • 下载并建立一个本地yum软件源,加速后续安装。(若使用离线软件包,则跳过下载阶段)
  • 将当前元节点作为一个普通节点纳入 Pigsty 管理
  • 部署基础设施组件,包括 Prometheus, Grafana, Loki, Alertmanager, Consul Server等
  • 在当前节点上部署一个普通的PostgreSQL单实例集群,纳入监控。

Where

该剧本默认针对元节点执行

  • Pigsty默认将使用当前执行此剧本的节点作为Pigsty的元节点。
  • Pigsty在配置过程中默认会将当前节点标记为元节点,并使用当前节点首要IP地址替换配置模板中的占位IP地址10.10.10.10
  • 元节点除了可以发起管理,部署有基础设施外。与一个部署了PG的普通托管节点并无区别。
  • Pigsty默认使用元节点部署DCS Server,用于数据库高可用,但您完全可以选用外部DCS集群。
  • 使用多个元节点是可能的,参考 DCS3 配置模板:部署3节点的DCS Server,允许其中一台宕机。

How

执行该剧本的一些注意事项

  • 本剧本为幂等剧本,重复执行会抹除元节点上的Consul Server与CMDB(关闭保护选项情况下)
  • 使用离线软件包时,完整执行该剧本耗时约5-8分钟,视机器配置而异。
  • 不使用离线软件包而直接从互联网原始上游下载软件时,可能耗时10-20分钟,根据您的网络条件而异。
  • 本剧本会将元节点作为一个普通节点纳入管理,并部署PG数据库,覆盖了nodes.ymlpgsql.yml的所有内容,因此infra.yml如果可以在元节点上成功执行完毕,那么则在相同状态的普通节点上一定可以成功完成数据库部署。
  • 元节点上默认的pg-meta将用作Pigsty元数据库,用于承载高级特性。

Tasks

该剧本

  1. ./infra.yml --tags=environ # 重新在元节点上配置环境
  2. ./infra.yml --tags=repo -e repo_rebuild=true # 强制重新创建本地源
  3. ./infra.yml --tags=repo_upstream # 加入上游YumRepo
  4. ./infra.yml --tags=prometheus # 重新创建Prometheus
  5. ./infra.yml --tags=nginx_config,nginx_restart # 重新生成Nginx配置文件并重启
  6. ……

配置清单中,隶属于 meta分组下的节点将被设置 meta_node 标记,用作 Pigsty 的元节点。


infra-demo

infra-demo.yml 是用于演示环境的特殊剧本,通过交织元节点与普通节点初始化的方式,可以一次性完成4节点沙箱环境的初始化。 在四节点沙箱中,本剧本可等效为

  1. ./infra.yml # 在元节点安装 Pigsty
  2. ./infra-pgweb.yml # 在元节点加装 PgWeb
  3. ./nodes.yml -l pg-test # 将 pg-test 所属三节点纳入管理
  4. ./pgsql.yml -l pg-test # 在 pg-test 三节点上部署数据库集群

此外,当您尝试部署复数个元节点时,如果选择默认将DCS Server部署在所有元节点上时,也可以使用此剧本一次性拉起所有元节点以及其上的DCS与数据库集群。

请注意,配置不当的情况下,此剧本有一次性抹平整个环境的奇效,在生产环境可以移除以避免 “Fat Finger” 的风险。

剧本 - 图2


infra-remove

infra-remove.yml 剧本是 infra 剧本的反向操作。

会将Pigsty从元节点卸载,剧本会依次卸载下列组件。

剧本 - 图3

  • grafana-server
  • prometheus
  • alertmanager
  • node_exporter
  • consul
  • loki

infra-jupyter

infra-jupyter.yml 剧本用于在元节点上加装 Jupyter Lab服务

详细教程请参考 教程:启用Jupyter Lab服务

剧本 - 图4

最后修改 2022-05-27: init commit (1e3e284)