1. salt-api简介
- SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单。
官方提供了三种api模块:
rest_cherrypy
rest_tornado
rest_wsgi
2. salt-api配置
- 安装salt-api:
# yum install -y salt-api python-cherrypy
- 生成证书:
# cd /etc/pki/tls/private
# openssl genrsa 2048 > localhost.key
# cd /etc/pki/tls/certs
# make testcert //根据提示填写相关信息即可
- 创建用户认证文件:
# useradd -s /sbin/nologin saltapi
# echo westos | passwd --stdin saltapi
# vim /etc/salt/master.d/eauth.conf
external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'
- 激活rest_cherrypy模块:
# vim /etc/salt/master.d/api.conf
rest_cherrypy:
host: 172.25.13.1
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/private/localhost.key
- 重启服务:
# systemctl restart salt-master
# systemctl start salt-api
# systemctl enable --now salt-api.service
安装api
生成证书:
[root@server1 certs]# pwd
/etc/pki/tls/certs
[root@server1 certs]# make testcert
创建用户认证文件:
重启服务,并查看api端口8000是否开启
3. salt-api使用
- 获取认证token:
# curl -sSk https://172.25.13.1:8000/login \
-H 'Accept: application/x-yaml' \
-d username=saltapi \
-d password=westos \
-d eauth=pam
- 推送任务:
# curl -sSk https://172.25.13.1:8000 \
-H 'Accept: application/x-yaml' \
-H 'X-Auth-Token: 77e2b1de04b0dbc0a4bf11900712b83e4fa2c241'\
-d client=local \
-d tgt='*' \
-d fun=test.ping
token值是上面命令获取的toekn值。
获取认证token
推送任务(注意:token值一定要换成自己生成的)