准备资源

如何完成Pigsty资源准备工作

部署Pigsty前需要做好准备工作,包括:

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

资源规划

在部署Pigsty前,需要进行一些重要的技术决策。

元节点的数量

在每套环境中,Pigsty最少需要一个元节点,该节点将作为整个环境的控制中心。

元节点负责各种管理工作:保存状态,管理配置,发起任务,收集指标,等等。

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

同时,元节点也将用于部署元数据库 (Consul 或 Etcd),用户也可以使用已有的外部DCS集群

如果将DCS部署至元节点上,建议在生产环境使用3个元节点,以充分保证DCS服务的可用性。

DCS外的基础设施组件都将以对等副本的方式部署在所有元节点上。

元节点的数量要求最少1个,推荐3个,建议不超过5个。

准备机器

部署前需要准备一系列机器节点。用户可以使用任意节点:物理机、虚拟机、容器等。

Pigsty推荐使用物理机与虚拟机进行部署。

使用本地沙箱环境时,Pigsty基于Vagrant与Virtualbox快速拉起虚拟机资源,详情请参考 Vagrant教程

元节点配置

用户管理

Pigsty需要一个管理用户,可以从元节点上免密码SSH登陆其他节点,并免密码执行sudo命令。

详情请参考:管理用户

网络可达性

Pigsty提供的基础设施对外提供WebUI以供访问,该Web服务由元节点上的Nginx负责代理。

元节点上的Nginx默认监听80端口,并负责一系列服务的转发。

如果用户希望访问Pigsty提供的图形界面,则需要确保可以直接或间接访问到元节点的80端口

nginx_upstream:
  - { name: home,          host: pigsty,   url: "127.0.0.1:3000"}
  - { name: consul,        host: c.pigsty, url: "127.0.0.1:8500" }
  - { name: grafana,       host: g.pigsty, url: "127.0.0.1:3000" }
  - { name: prometheus,    host: p.pigsty, url: "127.0.0.1:9090" }
  - { name: alertmanager,  host: a.pigsty, url: "127.0.0.1:9093" }
  - { name: haproxy,       host: h.pigsty, url: "127.0.0.1:9091" }

Ansible安装

在Pigsty沙箱环境中,用户可以选择从沙箱内的元节点,或沙箱外的宿主机发起控制。在生产环境,用户通常只能从从元节点发起控制

用户需要在发起控制的节点上安装Ansible,Ansible的安装可以通过系统包管理器完成:

yum install ansible       # centos
brew install ansible      # macos

如果用户的元节点没有互联网访问,可以考虑下载或制作离线安装包,离线安装Ansible

克隆本项目

Pigsty项目可以通过git直接克隆至本地。

git clone https://github.com/Vonng/pigsty

如果元节点没有互联网访问,用户也可以从Release页面手工下载源代码包 Source code (tar.gz),通过FTP或其他方式上传至元节点。

在这种情况下,Pigsty强烈推荐一并下载离线安装包,执行离线安装,详情参见 离线安装

接下来

完成资源准备后,便可以开始 配置 Pigsty


Vagrant

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

离线安装

如何离线安装Pigsty

管理用户

如何配置SSH免密码登陆,以及免密码sudo

最后修改 2021-02-23: update deploy doc (ed50323)