帮我找一个安装salt-api的教程
时间: 2023-11-28 14:47:21 浏览: 134
salt-stack简明教程
以下是安装Salt-API的步骤:
1. 确保已经安装了Salt Master和Salt Minion,因为Salt-API需要依赖于它们。如果你还没有安装它们,请先按照SaltStack官方文档的指导安装。
2. 在Salt Master上安装Salt-API,运行以下命令:
```bash
sudo apt-get update
sudo apt-get install salt-api
```
3. 修改配置文件,打开/etc/salt/master文件,并找到以下行:
```yaml
#rest_cherrypy:
# port: 8000
# host: 0.0.0.0
# ssl_crt: /etc/pki/tls/certs/localhost.crt
# ssl_key: /etc/pki/tls/certs/localhost.key
```
将其取消注释并修改为:
```yaml
rest_cherrypy:
port: 8000
host: 0.0.0.0
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/certs/localhost.key
```
4. 创建API用户,运行以下命令:
```bash
sudo salt-call --local user.add saltapi password='SALTAPI_PASSWORD' groups='wheel,saltapi' shell='/bin/bash' home='/var/run/saltapi'
```
其中,`SALTAPI_PASSWORD`是你要设置的密码。
5. 配置Salt-API的认证方式,打开/etc/salt/master文件,并找到以下行:
```yaml
#external_auth:
# pam:
# saltapi:
# - '@wheel'
# - '@runner'
# - '@jobs'
# - '@event'
```
将其取消注释并修改为:
```yaml
external_auth:
pam:
saltapi:
- '@wheel'
- '@runner'
- '@jobs'
- '@event'
rest_cherrypy:
port: 8000
host: 0.0.0.0
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/certs/localhost.key
eauth_tokens:
saltapi:
- .*:
- '@wheel'
- '@runner'
- '@jobs'
- '@event'
```
6. 重新启动Salt Master和Salt-API服务,运行以下命令:
```bash
sudo systemctl restart salt-master.service
sudo systemctl restart salt-api.service
```
7. 现在,你可以使用API用户的用户名和密码访问Salt-API了。例如,要列出所有Minion的键,请运行以下命令:
```bash
curl -H 'Accept: application/json' -d username='saltapi' -d password='SALTAPI_PASSWORD' -d eauth='pam' https://localhost:8000/login | jq '.return[0].token' | xargs -I "TOKEN" curl -H "X-Auth-Token:TOKEN" -H 'Accept: application/json' https://localhost:8000/minions
```
其中,`SALTAPI_PASSWORD`是你之前设置的密码。注意,在上面的命令中,我们使用了`jq`和`xargs`来自动提取API用户的token并将其传递给后续的请求。
希望这些步骤可以帮助你成功安装Salt-API。
阅读全文