一、简介
SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单。
官方提供了三种api模块:
rest_cherrypy
rest_tornado
rest_wsgi
官方链接
下载api
[root@server1 ~]# yum -y install salt-api.noarch
二、salt-api配置
1.生成证书
[root@server1 ~]# cd /etc/pki/tls/private/
[root@server1 private]# openssl genrsa 1024
[root@server1 private]# openssl genrsa 1024 > localhost.key
[root@server1 tls]# cd certs/
[root@server1 certs]# make testcert ##根据提示填写相关信息即可
2.激活rest_cherrypy模块:
[root@server1 certs]# cd ..
[root@server1 tls]# cd private/
[root@server1 private]# ls
localhost.key
[root@server1 private]# cd /etc/salt/master.d/
[root@server1 master.d]# vim api.conf
rest_cherrypy:
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/private/localhost.key
3.创建用户认证文件:
[root@server1 master.d]# vim auth.conf
external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'
- '@jobs'
创建saltapi用户
[root@server1 master.d]# useradd saltapi
[root@server1 master.d]# passwd saltapi
4.重启服务:
[root@server1 master.d]# systemctl restart salt-master.service
[root@server1 master.d]# netstat -antlp | grep :8000
[root@server1 master.d]# systemctl enable --now salt-api.service
[root@server1 master.d]# netstat -antlp | grep :8000
二、salt-api使用
1.获取认证token:
[root@server1 master.d]# curl -sSk https://localhost:8000/login -H 'Accept: application/x-yaml' -d username=saltapi -d password=westos -d eauth=pam
2.推送任务:
[root@server1 master.d]# curl -sSk https://localhost:8000 -H 'Accept: application/x-yaml' -H 'X-Auth-Token: a635e3ec1610413779303fc92928d40e6f36b740' -d client=local -d tgt='*' -d fun=test.ping