標籤:master etc oca localhost 表示 lin run job .com
Saltstack-API
官方文檔 https://docs.saltstack.com/en/latest/ref/netapi/all/salt.netapi.rest_cherrypy.html
使用條件:1)https調用,需要產生認證 2)設定檔 3)使用PAM驗證 4)啟動salt-api
安裝
yum install -y salt-api
實現方式
1)建立使用者useradd -M -s /sbin/nologin saltapi
2)設定密碼passwd saltapi
3)產生自我簽署憑證
cd /etc/pki/tls/certs
mv localhost.crt /tmp
make testcert
cd /etc/pki/tls/private
如果上面產生認證時輸入了密碼,需要取消密碼
openssl rsa -in localhost.key -out salt_nopass.key
4)安裝Cherrypy模組,版本3.2.6
pip install Cherrypy==3.2.6
5)修改master設定檔
vi /etc/salt/masterdefault_include: master.d/*.conf
6)建立api設定檔
cd /etc/salt/master.d/vi api.confrest_cherrypy: host: 192.168.137.11 port: 8000 ssl_crt: /etc/pki/tls/certs/localhost.crt ssl_key: /etc/pki/tls/private/salt_nopass.key
7)認證檔案
vi eauth.confexternal_auth: pam: saltapi: - .* - ‘@wheel‘ - ‘@runner‘
備忘: .* # 所有模組可執行, ‘@wheel‘ # salt key
8)重啟master
systemctl restart salt-master.service
使用介紹
1)登入測試,使用curl請求
curl -k https://192.168.137.11:8000/login -H ‘Accept: application/x-yaml‘ -d username=saltapi -d password=saltapi -d eauth=pam
登入成功後系統返回token,用於後續互動使用。
2)擷取minion資產資料測試,節點為linux-node1.example.com主機
curl -k https://192.168.137.11:8000/minions/linux-node1.example.com -H ‘Accept: application/x-yaml‘ -H ‘X-Auth-Token: token內容‘
3)查看所有minion存活主機
curl -k https://192.168.137.11:8000/ -H ‘Accept: application/x-yaml‘ -H ‘X-Auth-Token: token內容‘ -d client=‘runner‘ -d fun=‘manage.status‘
備忘:client=‘runner‘指的是在master執行,client=‘local‘指的是在minion執行
4)ping測試
curl -k https://192.168.137.11:8000/ -H ‘Accept: application/x-yaml‘ -H ‘X-Auth-Token: token內容‘ -d client=‘local‘ -d tgt=‘*‘ -d fun=‘test.ping‘
tgt表示目標,可以指定某一台minion
5)查看jobs
curl -k https://192.168.137.11:8000/jobs -H ‘Accept: application/x-yaml‘ -H ‘X-Auth-Token: token內容‘
6)查看具體一個jobs的執行結果
curl -k https://192.168.137.11:8000/jobs/jobid -H ‘Accept: application/x-yaml‘ -H ‘X-Auth-Token: token內容‘
Saltstack-API(十二)