saltstack入門之一:saltstack安裝

一、salt簡介

  saltstack是一個基於C/S架構的集中化管理平臺,具備配置管理、遠程執行、監控等功能。使用saltstack可以一鍵批量部署服務、遠程執行命令,在大規模的服務集羣中大大提高了運維人員的工作效率。

  saltstack基於python語言開發,使用輕量級消息隊列(ZeroMQpub/sub進行通信。

  minion在首次時,會在/etc/salt/pki/minion/(該路徑可在/etc/salt/minion中設置)下自動生成minion.pem(私鑰)和minion.pub(公鑰),然後將minion.pub發送給mastermaster通過salt-key -A命令接收minion的公鑰時,在master/etc/salt/pki/master/minions/目錄下就會產生保存minion公鑰的文件,之後master就能對minion發送指令了。

二、salt安裝

  salt運用了YAML語言、Jinja模版語言、ZeroMQ,這些都不需要安裝。需要做的就是配置一個epel源,然後執行yum -y install salt-master,就會發現這些依賴包已經在這個過程中全部被安裝了。 

  在要被管理的機器上配置epel源,執行yum -y install salt-minion完成客戶端的安裝。

三、salt配置

  默認的配置文件都存放在/etc/salt/目錄下。

  master文件配置:

[root@zhen ~]# sed -e '/^#/d;/^$/d'/etc/salt/master
default_include:master.d/*.conf
timeout: 60
file_roots:                                    #指定文件路徑
  base:                                       
    - /etc/salt/states/base             #base環境路徑
  prod:
    - /etc/salt/states/prod               #prod環境路徑

  因爲是剛開始學習salt,使用這些配置就足夠完成很多操作了。定義的兩個文件路徑需要手動生成。

  minion文件配置:

[root@zhen ~]# sed -e '/^#/d;/^$/d'/etc/salt/minion
master:  192.168.199.79
id:  saltstack.test.com                          #id可以自定義,最好有一定的規律

  salt在配置上是非常簡單的,但是它實現的功能就遠不止這麼簡單了!

四、啓動測試

  1、啓動:

  在CentOS系列系統上使用yum安裝的軟件啓動方式都是一樣的:

[root@zhen ~]# salt-key -L
Accepted Keys:                          
Denied Keys:                             
Unaccepted Keys:
saltstack.test.com
Rejected Keys:

  2、測試:

  (1)查看key列表:

[root@zhen ~]# salt-key -L
Accepted Keys:                          
Denied Keys:                             
Unaccepted Keys:
saltstack.test.com
Rejected Keys:

從上面可以看出來saltstack.test.comkey還沒有接收,用下面的命令接收所有沒有接收的key

[root@zhen ~]#salt-key -A
The followingkeys are going to be accepted:
Unaccepted Keys:
saltstack.test.com
Proceed? [n/Y] Y
Key for minionsaltstack.test.com accepted

  2key接收之後就可以對minion遠程執行命令了:

[root@zhen ~]#salt 'saltstack.test.com' test.ping
saltstack.test.com:
      True            #使用test.ping測試用minion的連通性
[root@zhen ~]#salt 'saltstack.test.com' cmd.run 'date'
saltstack.test.com:
      WedJul 13 18:51:00 EDT 2016        #使用cmd.run執行date命令

注意:執行命令時,如果針對所有節點,可以用salt ‘*’加上命令即可。但是對所有節點進行操作時,最好在命令後面加上 test=True 查看下執行的操作都有哪些,再執行命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章