環境; centos 7 192.168.10.10 master centos 7 192.168.10.129 minion 1、為了方便關閉防火牆 2、在192.168.10.10主機上安裝salt-master salt-master預設監聽2個埠: 4505:publish_port 提 ...
環境;
centos 7 192.168.10.10 master
centos 7 192.168.10.129 minion
1、為了方便關閉防火牆
[root@localhost ~]# systemctl disable firewalld // 禁止防火牆開機啟動 [root@localhost ~]# systemctl stop firewalld // 停止防火牆
2、在192.168.10.10主機上安裝salt-master
[root@localhost ~]# yum install salt-master -y
salt-master預設監聽2個埠:
4505:publish_port 提供遠程命令發送功能
4506:ret_port 提供認證,文件服務,結果收集等功能
為確保客戶端和伺服器可以通過兩個埠正常通信,所以這裡提前關閉了防火牆哈哈。
3、設置配置文件
預設/etc/salt/master這個配置文件全部都是註釋的,我們可以需要自己設置我們想要的功能。在修改配置文件前,先備份一下這個文件是個好習慣。
[root@localhost salt]# vim master [root@localhost salt]# grep -v ^# /etc/salt/master | grep -v ^$ // 過濾出我們的配置 interface: 0.0.0.0 publish_port: 4505 user: root worker_threads: 5 ret_port: 4506 pidfile: /var/run/salt-master.pid auto_accept: False // 自動接收秘鑰 log_file: /var/log/salt/master
好了192.168.10.10(master)主機我們暫且配置到這裡,下麵安裝192.168.10.129(minion)
4、安裝192.168.10.129(minion)
[root@localhost ~]# yum install salt-minion -y
5、安裝後調整192.168.10.129(minion)的配置文件
[root@localhost salt]# vim minion [root@localhost salt]# grep -v "^#" /etc/salt/minion |grep -v "^$" master: 192.168.10.10 master_port: 4506 user: root id:192.168.10.129 log_file: /var/log/salt/minion
6、分別啟動salt-master(192.168.10.10)和salt-minion(192.168.10.129)
[root@localhost ~]# systemctl start salt-master // 主機192.168.10.10 [root@localhost ~]# systemctl start salt-minion // 主機192.168.10.129
7、查看秘鑰
[root@localhost ~]# salt-key -f 192.168.10.129 // 在192.168.10.10上查看
[root@localhost ~]# salt-call --local key.finger // 在本機進行查看
[root@localhost ~]# salt-key -L // 列出所有秘鑰信息(在192.168.10.10上執行)
此時還沒有真正建立關係,確定關係。
[root@localhost ~]# salt-key -a 192.168.10.129 // 接收192.168.10.129的秘鑰,建立關係
秘鑰管理的常用命令;
[root@linux-node1 ~]# salt-key -L #常用參數 -L #查看KEY狀態 -A #允許所有 -D #刪除所有 -a #認證指定的key -d #刪除指定的key -r #註銷掉指定key(該狀態為未被認證)
至此192.168.10.10(master)的salt-master的安裝和192.168.10.129(salt-minion)的安裝及建立關係完成,下麵來看一下簡單的命令:
1、檢測192.168.10.129是否存活
[root@localhost ~]# salt '192.168.10.129' test.ping // '*'則代表查看所有的minion
常用命令:
[root@localhost ~]# salt '192.168.10.129' cmd.run 'ps -ef|grep python' salt '192.168.10.129' pkg.install "nginx" // 遠程安裝nginx salt 'slave' pkg.remove "nginx" // 遠程卸載nginx salt 'slave' pkg.version "nginx" // 查看遠程nginx版本 salt 'slave' service.start "nginx" // 遠程啟動nginx服務 salt 'slave' service.stop "nginx" // 遠程停止nginx服務 salt 'slave' service.status "nginx" // 遠程查看nginx狀態 salt --out=json '*' cmd.run_all 'hostname' // 控制輸出格式,查看所有minion的主機名 salt-cp '*' 本地文件 /opt/ // 將本地文件發給所有minion的opt目錄下 [root@localhost ~]# salt '192.168.10.129' grains.items // 查看指定目標主機的詳細信息 salt '*' saltutil.running // 查看正在運行的任務,找到jid salt '*' saltutil.kill_job jid // 根據jid殺掉任務 salt '*' saltutil.clear_cache // 清除minion緩存