为什么80%的码农都做不了架构师?>>>
本篇专门实验一下salt-api的功能,salt-api是一个提供rest api来管理salt的接口,为后面和其他系统集成做准备。
安装salt-api
salt-api安装在master节点上
#推荐使用pip安装,版本0.8.4.1
pip install salt-api
#不推荐epel源的salt-api,版本是0.8.2 据说有BUG
yum install salt-api
下载salt-api启动脚本
#地址
git clone https://github.com/saltstack/salt.git
#放入/etc/init.d/目录
mv ./salt/pkg/rpm/salt-api /etc/init.d/salt-api
修改/etc/salt/master配置文件,增加如下配置
external_auth:
pam:
test:
- .*
配置私有ssl证书
cd /etc/pki/tls/certs
make testcert
cd /etc/pki/tls/private/
openssl rsa -in localhost.key -out localhost_nopass.key
在/etc/salt/master.d/目录下加入api服务配置
#/etc/salt/master.d/api.conf
rest_cherrypy:
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/private/localhost_nopass.key
关于更详细的salt-api服务配置,参加 这里
重启salt-master服务,接着启动salt-api服务
/etc/init.d/salt-master restart
/etc/init.d/salt-api start
查看salt-api服务,默认监听在8000端口
获取登陆token
curl -sk https://192.168.1.203:8000/login \
> -H "Accept: application/json" -d username='test' -d password='123456' \
> -d eauth='pam' |jq .
测试192.168.1.201这台机器的连通性
curl -sk 'https://192.168.1.203:8000/' -H "Accept: application/json" \
> -H "X-Auth-Token: 13bde4e20c62621d2fed8168065ff85cb998b0ae" \
> -d client='local' -d tgt='192.168.1.201' -d fun='test.ping' | jq .
查看CherryPy服务的运行状态
curl -sk 'https://192.168.1.203:8000/stats' -H "Accept: application/json" \
> -H "X-Auth-Token: 13bde4e20c62621d2fed8168065ff85cb998b0ae" | jq .
查看192.168.1.201的磁盘使用情况
curl -sk 'https://192.168.1.203:8000/' \
> -H "Accept: application/json" -H "X-Auth-Token: 13bde4e20c62621d2fed8168065ff85cb998b0ae" \
> -d client='local' -d tgt='192.168.1.201' -d fun='disk.usage' | jq .
一些基本的api使用可以参考这里