saltstack实战-7

本篇专门实验一下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 .
saltstack实战-7_第1张图片 

测试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 .
saltstack实战-7_第2张图片 

查看CherryPy服务的运行状态

 curl -sk 'https://192.168.1.203:8000/stats'  -H "Accept: application/json" \
> -H "X-Auth-Token: 13bde4e20c62621d2fed8168065ff85cb998b0ae" | jq .

saltstack实战-7_第3张图片

查看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 .
saltstack实战-7_第4张图片



一些基本的api使用可以参考这里

你可能感兴趣的:(salt-api)