准备资源

如何完成Pigsty资源准备工作

在部署Pigsty前,您需要进行资源准备,包括以下几件事:

  • 资源规划:使用什么规格的机器创建多大规模的集群
  • 所有机器都可以通过SSH免密登陆
  • 所有机器登陆的用户都可以免密码进行sudo
  • 选择1(或更多)台机器作为中央控制管理机(元节点)
  • 在元节点上安装ansible
  • 在元节点上克隆本项目
  • 下载离线软件安装包至files目录(可选)

资源规划

在部署Pigsty前,您有一些重要的技术决定需要提前定好。

元节点的数量

在每套环境中,Pigsty最少需要一个元节点(或曰:中控机),作为该节点将作为整个环境的控制中心。完成各种工作:保存状态,管理配置,发起管理,收集指标,等等。

整个环境的基础设施组件,Nginx(本地yum源),Grafana,Prometheus,Alertmanager,NTP,DNS Nameserver,DCS都将部署在元节点上。

元节点将用于部署元数据库 Consul 或 Etcd,因此通常建议在生产环境使用3个元节点。能够保证较为合理的可用性。当然您可以使用已有的外部DCS集群

除DCS外,所有基础设施都将以对等副本的方式部署在所有元节点上。元节点的数量要求最少1个,推荐3个,建议不超过5个。

元节点的要求

元节点将通过Ansible管理控制环境中的其他机器,因此需要您具有登陆其他机器并执行sudo命令的权限。

SSH访问将复用机器上的配置,您需要确保:

  • 可以通过ssh免密访问环境内的所有机器(包括元节点资深)
  • ssh免密访问的用户可以免密执行sudo权限。
  • 中控机安装有ansible

访问中控机

如果您希望使用图形界面,则需确保能从本地环境直接或间接访问中控机的80端口。

中控机运行有Nginx,监听80端口对外提供服务。Prometheus, Grafana, Altermanager, Consul UI会被Nginx代理至对应服务。

互联网访问

Pigsty是一个复杂的软件系统,为了确保系统的稳定,Pigsty会在初始化过程中从互联网下载所有依赖的软件包并建立本地Yum源。

所有依赖的软件总大小约1GB左右,下载速度取决于您的网络情况。尽管Pigsty已经尽量使用镜像源以加速下载,但少量包的下载仍可能受到防火墙的阻挠,可能出现非常慢的情况。您可以通过proxy_env配置项设置下载代理以完成首次下载,如果您遇到了长时间下载不成功的情况,强烈建议您使用“HTTP代理”进行下载,或使根据您的实际网络环境使用自定义的Yum镜像。

这里特别需要注意的是中国大陆的互联网条件“较差”,PostgreSQL官方源的访问速度非常慢,建议使用离线安装的方式。

离线安装

中控机本身并不要求互联网访问,尽管如果有肯定会非常方便,但出于安全考虑,我们建议在生产环境中使用离线安装的方式进行部署。

或直接下载预先打包好的离线安装包。例如最新的离线安装包地址为: https://github.com/Vonng/pigsty/releases/download/v0.5.0/pkg.tgz

将该软件包拷贝至项目根目录的files/pkg.tgz,然后执行make upload,即可将离线软件包上传至元节点的目标位置。

详情请参考离线安装一节。

接下来

完成资源准备后,您可以开始着手修改Pigsty的配置文件


Vagrant供给

如何基于Vagrant与Virtualbox快速在本地拉起测试虚拟机

离线安装

如何离线安装Pigsty

最后修改 2021-01-09: add tutorial (c0b4a87)