saltsatck中的常用模塊

自定義salt模塊

mkdir /srv/salt/_modules
cd /srv/salt/_modules
vim my_disk.py
  1 #! /usr/bin/env python
  2 
  3 def df():
  4         return __salt__['cmd.run']('df -h')

salt '*' saltutil.sync_modules

在這裏插入圖片描述
使用模塊:salt ‘*’ my_disk.df
在這裏插入圖片描述

salt-ssh

salt-ssh模塊可以使salt-master不通過minion,而是直接通過ssh控制,就是說我們就算關閉了minion上面的salt-minion服務,在master端也可以使用salt去控制它。
1、在server1(master)上面安裝salt-ssh
yum install salt-ssh -y
2、在master上編輯salt-ssh的配置文件/etc/salt/roster
在這個文件中定義需要使用salt-ssh控制的minion的信息,如:用戶名,密碼等

vim /etc/salt/roster
寫入:
server2:
	host:172.25.66.2
	user:root
	passwd:redhat
server3:
	host:172.25.66.3
	user:root
	passwd:redhat

在這裏插入圖片描述
3、關閉server2與server3上的salt-minion服務
4、將配置文件中之前設置的數據庫支持註釋掉
在這裏插入圖片描述
5、在master中使用salt-ssh測試使用可以與server2,server3通訊
salt-ssh ‘server2’ test.ping -i
在這裏插入圖片描述
salt-ssh ‘server2’ cmd.run df
在這裏插入圖片描述
在這裏插入圖片描述

cp模塊

cp模塊:用來遠程複製文件、目錄,以及下載URL資源等等。
cp模塊是基於base環境的,即salt://表示base環境/srv/salt/,我們可以進行文件服務器多環境配置,在salt-master的配置文件中的file_roots下添加其他文件服務器環境
在這裏插入圖片描述
1、將master中的目錄複製到minion的指定位置
salt ‘’ cp.get_dir salt://httpd /root
將master端的/srv/salt/httpd目錄複製到所有minion的/root目錄下
在這裏插入圖片描述
在這裏插入圖片描述
2、將master中的文件複製到minion的指定位置
salt '
’ cp.get_file salt://etc/passwd /root/passwd
在這裏插入圖片描述
在這裏插入圖片描述
cp.get_file gzip格式:對於大文件傳輸,cp.get_file支持gzip壓縮格式。因爲gzip是CPU密集型的工具,因此cp.get_file開啓gzip是適用於高壓縮率的情況下,如JSON或者YAML文件。
salt ‘*’ cp.get_file slat://etc/httpd/conf/httpd.conf /root/httpd.conf gzip=5
在這裏插入圖片描述
gzip後的數字表示壓縮比,範圍在1-9之間,1表示最小壓縮比,9爲最大壓縮比。換句話說,gzip=1情況下, 消耗的CPU小;gzip=9時,消耗的CPU則更多。

cp.get_file makedirs=True:cp.get_file過程中,如果目錄不存在,cp.get_file是不會主動創建目錄的,如果要做到這點,可以使用makedirs=True 參數。
在這裏插入圖片描述

syndic模塊

syndic可以爲master提供一個代理,該代理不用獲得master所控制minion的密鑰就可以直接對master的minion進行控制,這個代理被稱爲Topmaster,我們使用server4來充當這個代理
1、在master中刪除server4這個minion
在這裏插入圖片描述
2、在master中下載salt-syndic
3、編輯master配置文件,定位到syndic處

vim /etc/salt/master
 862 syndic_master: 172.25.66.4

在這裏插入圖片描述
4、關閉server4上的salt-minion服務,並禁其開機自啓
5、在server4上安裝salt-master服務
6、編輯server4上的master配置文件,定位到syndic

vim /etc/salt/master
 857 order_masters: True

在這裏插入圖片描述
7、重啓server1上的salt-master,開啓server1上的salt-syndic服務,然後到server4中接收server1的密鑰
在這裏插入圖片描述
9、在server4中使用salt控制server1的所有minion

在這裏插入圖片描述

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