Saltstack筆記

前言--需要思考的幾個問題:

    saltstack是什麼?

    我們可以用saltstack做什麼?

    saltstack未來的發展趨勢?



帶着問題開始馳騁


1、這個由Python開發的自動化運維工具,可以寫強大的運維平臺喲!


2、接下來我們看看安裝與配置

master端安裝

yum -y install salt-master       //安裝就是這麼簡單

minion端安裝

yum -y install salt-minion


master端配置

vi /etc/salt/master

interface: 192.168.24.66

auto_accept: True

file_roots:               //定義salt工作根目錄

  base:

    - /srv/salt

minion端配置

vi /etc/salt/minion

master: 192.168.24.66

id: 192.168.24.68


3、是的安裝配置就是這麼簡單,下面啓動服務,讓他跑起來

master端

/etc/init.d/salt-master start

minion端

/etc/init.d/salt-minion start


4、查看keys狀態,並添加minion keys

[root@localhost ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
192.168.24.67
192.168.24.68
Rejected Keys:
[root@localhost ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
192.168.24.67
192.168.24.68
Proceed? [n/Y] Y
Key for minion 192.168.24.67 accepted.
Key for minion 192.168.24.68 accepted.


再次查看,已經在列表中了

[root@localhost ~]# salt-key -L
Accepted Keys:
192.168.24.67
192.168.24.68
Denied Keys:
Unaccepted Keys:
Rejected Keys:


5、執行test.ping測試是否成功

此處踩過的坑

salt-key -A 這個添加後,在master端/etc/salt/pki/master/minions下會生成minion的公鑰文件

同時minion端/etc/salt/pki/minion下也會生成master的公鑰文件minion_master.pub,其實這就是

一個互信的過程。此處有坑

[root@localhost minion]# salt '*' test.ping
192.168.24.67:
    Minion did not return. [No response]
192.168.24.68:
    Minion did not return. [No response]


需要將在master端執行salt-key -D,去除一下keys。將minion端/etc/salt/pki/minion 此目錄下文件清理掉。然後啓動minion端服務,不需要執行其他操作,如下就成功。---此處是經驗(刪除minion端文件/etc/salt/pki/minion/minion_master.pub,再啓動minion端服務)

[root@localhost minions]# salt '*' test.ping

192.168.24.67:

    True

192.168.24.68:

    True


6、其實此時我們已經跑起來了,可以去做我們想做的事情了

你的最愛(是的,使用模塊cmd.run你想在客戶端執行啥命令都行)

[root@localhost ~]# salt '*'  cmd.run 'df -h'

192.168.24.67:

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3        93G  4.5G   84G   6% /

    tmpfs           1.9G   12K  1.9G   1% /dev/shm

    /dev/sda1       190M  146M   31M  83% /boot

192.168.24.68:

    Filesystem      Size  Used Avail Use% Mounted on

    /dev/sda3        93G  4.5G   84G   6% /

    tmpfs           1.9G   12K  1.9G   1% /dev/shm

    /dev/sda1       190M  146M   31M  83% /boot


7、使用模塊cmd.run 在生產環境一些敏感命令不建議使用

salt ‘*’  cmd.run ‘rm -rf /’    //分分鐘,玩死所有服務器


------------------------------------------------------------

ok,前面是初步認識,接下來我們做點兒有意義的事情


8、寫幾個狀態文件,讓我們探索一下他的趣事

[root@localhost salt]# cd /srv/salt/

[root@localhost salt]# vim zabbix.sls

zabbix_agent:
  pkg.installed:                //pkg是模塊,installed是該模塊的一個方法;做yum安裝
    - name: zabbix22-agent
  file.managed:                 //文件拷貝
    - name: /etc/zabbix_agentd.conf
    - source: salt://zabbix_agentd.conf
    - user: root
    - group: root
    - mode: 644
  service.running:              //服務管理
    - name: zabbix_agentd
    - enable: True              //啓動服務
    - watch:
      - file: zabbix_agent


9、運行文件

[root@localhost salt]# salt '*' state.sls zabbix


安裝成功

[root@localhost minion]# rpm -qa | grep zabbix

zabbix22-agent-2.2.11-1.el6.x86_64

zabbix22-2.2.11-1.el6.x86_64

[root@localhost minion]# ll /etc/zabbix_agentd.conf 

-rw-r--r--. 1 root root 5978 Jul  3 13:09 /etc/zabbix_agentd.conf


10、初接觸(學習幾個參數)

salt -E 'web1-(prod|devel)' test.ping          //匹配正則表達式
salt -L 'web1,web2,web3' test.ping             //列表匹配
salt -G 'os:CentOS' test.ping                  //grains
salt -G 'cpuarch:x86_64' grains.item num_cpus


11、此刻你也許已經對他有好感了,開始想了解更多關於他的事,先戛然而止______


-----------未完待續------------



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