在進一步介紹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 # 銷燬當前虛擬機