Prepare

How to prepare resource for 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 Provision

How to pull up vm quickly based on vagrant and virtualbox

Offline Installation

How to install pigsty without the Internet access

Last modified 2021-01-21: update (73df78a)