上手

如何在本地快速拉起Pigsty沙箱

本文介绍如何在笔记本或PC机上,基于VagrantVirtualbox,一键拉起Pigsty演示沙箱。

Pigsty沙箱是本地演示/测试环境,运行于由vagrant托管的本地virtualbox虚拟机上。

如果希望在已有的虚拟机上进行Pigsty部署,请参考 部署 一章。

快速开始

在本地主机上安装 VagrantVirtualBoxAnsible,然后在终端中依次执行以下命令,

# 下载本项目代码
cd /tmp && git clone git@github.com:Vonng/pigsty.git && cd pigsty
make up         # 拉起vagrant虚拟机
make ssh        # 配置虚拟机ssh访问      【单次,下次启动无需再次执行】
sudo make dns   # 写入Pigsty静态DNS域名  【sudo输入密码,可选,单次】
make download   # 下载最新离线软件包      【可选,可显著加速初始化】
make upload     # 上传离线软件包至元节点
make init       # 初始化Pigsty沙箱
make mon-view   # 打开Pigsty监控首页
# make new      # 销毁并重建沙箱环境

标准的沙箱初始化结果详见 参考-标准输出

快速导航

沙箱初始化完成后,您可以通过本地域名访问Pigsty提供的相关服务。

Pigsty监控系统的首页是:http://g.pigsty (默认用户名:admin , 密码:admin)

服务 域名 地址 说明
Grafana http://pigsty 10.10.10.10:3000 Pigsty监控系统主页
Consul http://c.pigsty 10.10.10.10:8500 元数据库,展示集群中的所有节点与服务,及其健康状态。
Prometheus http://p.pigsty 10.10.10.10:9090 监控时序数据库,查询指标,定义规则,处理报警
Alertmanager http://a.pigsty 10.10.10.10:9093 浏览、处理、屏蔽告警信息
Haproxy http://h.pigsty 10.10.10.10:80 浏览负载均衡器的状态,进行流量管理与控制
Yum Repo http://yum.pigsty 10.10.10.10:80 本地Yum源,包含所有离线软件安装包

这里使用的域名是在执行make dns时写入本地文件,您也可以直接使用IP+域名访问相应服务。

例如 http://10.10.10.10:3000 也可以用于访问监控系统, 但少部分服务(例如Consul)必须通过域名访问。

接下来,您可以尝试一些有趣的探索任务,来体验Pigsty提供的强大功能。

配置要求

Pigsty演示环境包含4个虚拟机节点,其中元节点一个,数据库节点三个;最低配则仅有单个元节点

### **标准配置**

标准配置由四个节点组成,包含完整的 基础设施与两套 数据库集群:部署于三个数据库节点上的一主两从集群 pg-test ;以及部署在元节点上的单实例数据库集群 pg-meta

标准配置可以充分演示Pigsty的所有功能,进行复杂的架构测试,以及完整的探索实验。

元节点推荐配置为2核/4GB,数据库节点推荐配置为 1核/2GB x3。

最低配置

只使用单个元节点的配置,包含完整的 基础设施 与部署在元节点上的单实例数据库集群 pg-meta

元节点的最低配置为 1核/1GB。

宿主机

Pigsty沙箱默认使用基于Vagrant的本地虚拟机,宿主机理论最低配置为1核1GB,推荐配置为4核/8GB或更高。

如果资源不足或充裕,用户可以通过定制Vagrantfile调整创建的虚拟机规格与数量,详情参考 Vagrant虚拟机供给

安装软件

拉起Pigsty沙箱,需要先在宿主机安装 vagrantvirtualbox。若从宿主机发起控制则还需安装ansible

软件的安装因平台而异,用户可以直接从官方网站下载vagrant和virtualbox的安装器,并按向导提示完成安装。

ansible可以通过包管理器安装:

brew install ansible # macos
yum  install ansible # linux

检查安装的软件版本:

$ echo $(vagrant --version)
Vagrant 2.2.14

$ echo $(vbox-img --version)
6.1.18

$ echo $(ansible --version)
ansible 2.10.3

建议使用2.9以上版本的Ansible,更低版本的Ansible可能遭遇兼容性问题。

接下来做什么?


最后修改 2021-03-18: update docs (b47aa4b)