saltStack_安裝和使用


服務端:
yum install -y salt-master


客服端:
yum install -y salt-minion

 

服務端啟動:
systemctl restartsalt-master
配置文件在:/etc/salt/master
密鑰文件:/etc/salt/pki
├── master
│   ├── master.pem #公鑰
│   ├── master.pub #私鑰 #密鑰是用來跟minion(客服端)做驗證使用的
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre
│   └── minions_rejected



客服端先做配置然后在啟動 使用的yml語法:
配置文件在:/etc/salt/minion
配置: vim /etc/salt/minion
找到 #master
修改: master: 172.168.1.200
啟動: systemctl restart salt-minion
啟動后也會生成公鑰私鑰
minion_id 默認是會把主機名字寫到這里面當ID用 可以定義配置文件中的id值進行修改


開始認證客服端:
[root@localhost]# cd /etc/salt/pki/
[root@localhost pki]# tree
.
├── master
│   ├── master.pem
│   ├── master.pub
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre #這個目錄里面的文件就是啟動的客服端的公鑰文件,默認是主機名字 一共2台
│   │   └── client
│   │   └── server_client
│   └── minions_rejected
└── minion
├── minion.pem
└── minion.pub

客服端到服務器認證流程:
客服端的公鑰 發送給--> 服務器端 ---> salt-key -A 執行后 服務器端 會把密鑰放到minions目錄/etc/salt/pki/master/minions 也會把自己的公鑰發給 --->客服端 雙向認證模式

 


[root@localhost pki]# salt-key #查看當前列表需要認證的客服端
Denied Keys:
Unaccepted Keys:
client
server_client
Rejected Keys:


[root@localhost minions_pre]# salt-key -A #全部允許認證

[root@localhost minions_pre]# salt '*' test.ping #測試主機是否ping通
client:
True
server_client:
True


客服端和服務端通行:
1 服務端啟動后: 會有2個端口 4505(發消息) 和 4506(收消息)
2 所有的客服端連接到服務端的4505這個端口 ,通過這個端口發送一個命令 所有的客服端都能收到返回一個結果到服務器的4506端口
3 zeromq:消息隊列 通過這個隊列推送消息

定義任務文件目錄: vim /etc/salt/master
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
dev:
- /srv/salt/dev


base目錄下面 新建httpd.sls base這個目錄是必須要有的
httpd-install:
pkg.installed:
- name: httpd

http-service:
service.running:
- name: httpd
- enable: True


salt \* state.sls httpd #state.sls  # 執行模塊 httpd指的是 httpd.sls    開始安裝httpd 並且啟動


salt 高級狀態. 也就是說給那個服務器做什么任務
[root@server_client /]# vim /srv/salt/base/top.sls #文件必須叫top.sls 在master 配置#state_top: top.sls 這定義了 默認就叫這個文件名 並且還要把這個文件放base目錄里面
格式:
base:
'client': #那個主機
- httpd #執行任務 httpd 指的是 上面master 定義的任務文件中/srv/salt/base 中的 httpd.sls
'server_client':
- httpd
[root@server_client /]# salt '*' state.highstate #運行高級狀態 這里面的*是通知所有的機器干top.sls里面自己對應的活 但是如果top.sls里面沒讓自己這個客服端處理任務,機器就不會運行任務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM