在进一步介绍Salt更多的原理性知识前,我们先搭建出一套Demo测试来,大家先使用起来。这样,在有一个直接的接触,直观的感知,甚至是问题或疑问后,带着这些收获再研计一些运行原理、高级配置等方面的内容时,更加容易事半攻倍。
下面,我们将通过VirtualBox和Vagrant两个工具,快速配置出一个简单的SaltStack Demo测试环境。
https://www.virtualbox.org/
https://www.vagrantup.com/
https://github.com/UtahDave/salt-vagrant-demo ,你可以直接从GitHub使用git或下载项目的zip文件 这是一个使用Vagrant已经做好了预配置实现的Salt Demo测试环境。
注:Demo环境,请确保你的电脑至少有大于8GB的内存。
则可以直接使用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
则可以从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
注:在Vagrant ups(〜10分钟)之后,就又回到了命令提示符下,就完成了安装配置工作。
这将下载一个Ubuntu VirtualBox映像并创建三个虚拟机。 一个将是名为Master的Salt Master,两个将是名为minion1和minion2的Salt Minions。Salt Minions将指向Salt Master,并且Minion的密钥已经被接受。
我们可以打开Vagrantfile文件,看一下vagrant在启动Saltstack模拟测试环境时,都做了哪些工作。
如果以上管理命令都没遇到什么报错信息,则可以参照下面的方法做些服务测试了。
按下面的方法登录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 # 销毁当前虚拟机