SaltStack---salt-api配置
1 salt-api简介
SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单
官方提供了三种api模块:
- rest_cherrypy
- rest_tornado
- rest_wsgi
2 salt-api的部署
(1)安装salt-ap: yum install -y salt-api
(2)生成SSL证书
- 进入
/etc/pki/tls/private/
目录,生成新的localhost.key
:
openssl genrsa 1024 > localhost.key
- 进入
/etc/pki/tls/certs/
目录,创建自签的证书:make testcert
- 根据提示完成信息的输入后,会在
/etc/pki/tls/certs/
目录下生成自签的证书
(3)创建用户认证文件
- 创建saltapi用户和密码:
useradd -s /sbin/nologin saltapi
echo westos | passwd --stdin saltapi
-
编辑salt-master的认证文件:
cd /etc/salt/master.d/ vim auth.conf
external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'
- '@jobs'
(4)激活rest_cherrypy模块:
cd /etc/salt/master.d/
vim auth.conf
rest_cherrypy:
host: 172.25.0.1
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/private/localhost.key
(5)重启 salt-master服务:systemctl restart salt-master
(6)开启salt-api服务并设定为开机启动:systemctl enable --now salt-api
- 查看salt-api端口是否开启:
netstat -antlp | grep :8000
3 salt-api使用
- 获取认证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
return:
- eauth: pam
expire: 1611409615.753136
perms:
- .*
- '@wheel'
- '@runner'
- '@jobs'
start: 1611366415.753133
token: 43086ca9878cfd2da66ee22df6441ad1b57954cb
user: saltapi
- 执行test.ping
[root@server1 master.d]# curl -sSk https://localhost:8000 \
> -H 'Accept: application/x-yaml' \
> -H 'X-Auth-Token: 43086ca9878cfd2da66ee22df6441ad1b57954cb' \
> -d client=local \
> -d tgt='*' \
> -d fun=test.ping
return:
- server2: true
server3: true