SaltStack基础知识——搭建Salt Demo测试环境

在进一步介绍Salt更多的原理性知识前,我们先搭建出一套Demo测试来,大家先使用起来。这样,在有一个直接的接触,直观的感知,甚至是问题或疑问后,带着这些收获再研计一些运行原理、高级配置等方面的内容时,更加容易事半攻倍。

下面,我们将通过VirtualBox和Vagrant两个工具,快速配置出一个简单的SaltStack Demo测试环境。

安装 VirtualBox

https://www.virtualbox.org/

安装 Vagrant

https://www.vagrantup.com/

下载 salt-vagrant-demo

https://github.com/UtahDave/salt-vagrant-demo ,你可以直接从GitHub使用git或下载项目的zip文件 这是一个使用Vagrant已经做好了预配置实现的Salt Demo测试环境。

注:Demo环境,请确保你的电脑至少有大于8GB的内存。

测试环境的初步化命令

如果你已经安装过一个Git Bash终端工具

则可以直接使用git克隆一份本地仓库:

cd /d/work2020/Salt视频课素材/
git clone https://github.com/UtahDave/salt-vagrant-demo.git
cd salt-vagrant-demo
vagrant plugin install vagrant-vbguest
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name bento/ubuntu-18.04

如果你的电脑本地不能使用git命令

则可以从GitHub上的项目页面下载项目的zip打包文件
解压缩下载的zip文件,然后打开提取出来的目录的命令提示符:

cd %homepath%\Downloads\salt-vagrant-demo-master
vagrant plugin install vagrant-vbguest
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name bento/ubuntu-18.04

注:这个演示环境所使用的虚机镜像,是基于ubuntu-18.04操作系统的镜像。vagrant默认会从位于国外的官网拉取这一镜像文件,速度是非常得慢。所以,我们改为指定使用一份国内清华大学的镜像资源。

可以执行命令,查看下镜像文件是否下载成功了:

 vagrant box list

运行vagrant up启动Demo环境

vagrant up

注:在Vagrant ups(〜10分钟)之后,就又回到了命令提示符下,就完成了安装配置工作。

这将下载一个Ubuntu VirtualBox映像并创建三个虚拟机。 一个将是名为Master的Salt Master,两个将是名为minion1和minion2的Salt Minions。Salt Minions将指向Salt Master,并且Minion的密钥已经被接受。

salt-vagrant-demo目录下的saltstack子目录以及用途是什么

  • etc,salt master及minions的配置文件
  • keys,预配置好的密钥文件
  • pillar,salt minions的pillar配置定义文件
  • salt,salt minions的SLS状态配置定义文件

我们可以打开Vagrantfile文件,看一下vagrant在启动Saltstack模拟测试环境时,都做了哪些工作。

  • 指定使用了binto/ubuntu-18.04的镜像,并使用192.168.50的虚机网络网段。
  • 定义了主机名为saltmaster.local的一个虚机,设定资源配置,IP地址为192.168.50.10,将两个包含了初始化配置数据的目录向虚机指定路径下做了一个映射。
  • vagrant为salt提供了自动化的功能集成支持,在设置了密钥信息、安装类型、参数后,vagrant会在初始化虚机时自动完成相应的安装与配置工作。
  • 接下来呢,是配置和启动两个作为salt minion角色的测试虚机——minion1,minion2。IP地址为192.168.50.11,192.168.50.12 。
  • 同样地,也是直接通过vagrant自动调用了对salt安装与初始化的功能支持,为两个minions虚机进行了初始化数据同步、密钥文件设置以及salt minion工具安装工作。

服务的验证测试

如果以上管理命令都没遇到什么报错信息,则可以参照下面的方法做些服务测试了。

按下面的方法登录salt master并使用:

D:\tools\salt-vagrant-demo-master>vagrant ssh master
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-87-generic x86_64)
* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage
43 packages can be updated.
20 updates are security updates.

测试下minions节点的连通性:

vagrant@saltmaster:~$ sudo salt * test.ping
minion2:
    True
minion1:
    True
vagrant@saltmaster:~$

注:如果执行vagrant up后遇到成功启动了minions节点虚机,但未成功安装salt minion程序的问题,可以登录minion节点后,执行以下命令进行安装。

wget -O /tmp/bootstrap_salt.sh https://bootstrap.saltstack.com
sudo sh /tmp/bootstrap_salt.sh -P -c /tmp -F -c /tmp stable

在你运行Vagrant之后,Vagrant会在后台创建并启动多个VirtualBox虚拟机。 这些虚拟机会一直运行,直到你关闭它们,所以确保你在完成时运行vagrant halt:

vagrant halt

再次启动它们,则运行vagrant up。如果你想重新开始,你可以运行vagrant destroy,然后vagrant up。

Vagrant常用命令:

$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 至虚拟机
$ vagrant status  # 查看虚拟机运行状态
$ vagrant destroy  # 销毁当前虚拟机
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章