Salt API

使用Salt-API可以更加方便的对salt进行管理。配置salt-api主要有这样几个步骤:

1、证书

2、配置文件

3、验证。使用PAM验证

4、启动salt-api

验证配置

添加用户:

# useradd  -M -s /sbin/nologin  saltapi

设置密码:

# passwd saltapi

设置密钥:

[[email protected] /etc/pki/tls/certs]# make testcert

在另一个目录中设置不需要密码验证的key:

[[email protected] /etc/pki/tls/private]# openssl rsa -in localhost.key -out salt_nopass.key
Enter pass phrase for localhost.key:
writing RSA key

此时会生成salt_nopass.key的key.

安装CherryPy配置master

安装salt-api:

# yum install salt-api -y

使用pip安装配置CherryPy:

# pip install CherryPy==3.2.6

修改master的配置文件,打开注释,将默认配置放在master.d中:

# vim /etc/salt/master    
default_include: master.d/*.conf

在对应的路径下创建api.conf:

[[email protected] /etc/salt/master.d]# cat api.conf 
rest_cherrypy:
  host: 172.16.10.60
  port: 8000
  ssl_crt: /etc/pki/tls/certs/localhost.crt 
  ssl_key: /etc/pki/tls/private/salt_nopass.key

创建授权文件:

[[email protected] /etc/salt/master.d]# cat eauth.conf 
external_auth:
  pam:
    saltapi:
      - .*             # 权限,代表所有模块
      - ‘@wheel‘       # 指定key saltkey
      - ‘@runner‘      # 机器是否在线

重启salt-master:

# systemctl restart salt-master

启动salt-api:

# systemctl start salt-api

查看8000端口是否开启:

# netstat -lntp|grep 8000
tcp        0      0 172.16.10.60:8000       0.0.0.0:*               LISTEN      41783/python

请求token进行验证:

# curl -k  https://172.16.10.60:8000/login  -H ‘Accept: application/x-yaml‘  -d username=saltapi  -d password=saltapi  -d eauth=pam
return:
- eauth: pam
  expire: 1480035796.270958
  perms:
  - .*
  - ‘@wheel‘
  - ‘@runner‘
  start: 1479992596.270957
  token: 1723b0f260664994bce5b171e7844f1a12979a44
  user: saltapi

使用API执行salt

使用token获取指定主机的grance信息:

# curl -k  https://172.16.10.60:8000/minions/node1 -H ‘Accept: application/x-yaml‘  \

-H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘

使用api检测机器的状态:

# curl -k  https://172.16.10.60:8000/   -H ‘Accept: application/x-yaml‘      -H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘   -d client=‘runner‘ \  #runner 在master上执行
  -d fun=‘manage.status‘  #查看主机在线状态
#返回结果:
return:
- down: []
  up:
  - node1
  - node2

使用api 执行命令:

# curl -k  https://172.16.10.60:8000/      -H ‘Accept: application/x-yaml‘         -H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘ 
   -d client=‘local‘ -d tgt=‘*‘  \  #在minion端本地执行
   -d fun=‘test.ping‘     # 执行test.ping命令
#执行结果:
return:
- node1: true
  node2: true

使用api执行salt高级状态:

# curl -k  https://172.16.10.60:8000/     -H ‘Accept: application/x-yaml‘         -H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘      -d client=‘local‘      -d tgt=‘*‘      -d fun=‘state.highstate‘

使用API获取Jobs信息:

# curl -k  https://172.16.10.60:8000/jobs \ # 返回jobs信息
  -H ‘Accept: application/x-yaml‘     -H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘

查看具体某一个jobs的信息:

# curl -k  https://172.16.10.60:8000/jobs/20161124212822336420 \ # 指定job ID查询
  -H ‘Accept: application/x-yaml‘   -H ‘X-Auth-Token:1723b0f260664994bce5b171e7844f1a12979a44‘

参考资料:

oms 系统salt api 集成 https://github.com/binbin91/oms

salt dashboard: https://github.com/yueyongyue/saltshaker

时间: 2024-10-09 15:06:39

Salt API的相关文章

CentOS 安装及配置Salt api

安装 # yum -y install salt-api 更改配置 vim /etc/salt/master 把默认的注释掉  我们这边默认配置文件目录是/srv/salt default_include: master.d/*.conf 创建目录 #cd /etc/salt# mkdir master.d/# cd master.d/ 创建两个文件和添加配置 # cat api.conf rest_cherrypy: host: 0.0.0.0 port: 8080 debug: true d

Salt api安装及配置

一.系统环境 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 二.安装及配置 1.salt-api所有操作均在master端 yum -y install salt-api pyOpenSSL 2.配置salt-api 修改/etc/salt/master文件 sed -i '/#default_include/s/#default/default/g' /etc/salt/master 如果没有目录需要创建 mkdir

salt api调用iptables模块

iptables模块基本函数方法:salt.modules.iptables.append(table=u'filter', chain=None, rule=None, family=u'ipv4')salt.modules.iptables.insert(table=u'filter', chain=None, position=None, rule=None, family=u'ipv4')salt.modules.iptables.delete(table, chain=None, po

运维自动化之salt笔记

1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:targeting2:nodegroup3:grains4:pillar2:状态管理1:state1:state语法2:state的逻辑关系2:highstate3:salt schedule3:实时管理1:cmd.run2:module4:其他1:无master2:peer3:runner4:react

Saltstack API 配置管理

Saltstack是个运维自动化管理工具 在运维当中还是相当不错的 批量管理 分发软件 安装软件部署 也可以收集一些 服务器的信息 可以做CMDB资产管理 还有salt提供了很方便的API 提供给第三方使用 salt api安装 在已经安装好的主salt master上面 安装api yum -y install salt-api 安装完成之后 获取token curl -k http://10.20.0.100:8080/login -H "Accept: application/x-yaml

死磕salt系列-salt文章目录汇总

死磕salt系列-salt入门 死磕salt系列-salt配置文件 死磕salt系列-salt grains pillar 配置 死磕salt系列-salt 常用modules 死磕salt系列-salt 配置文件管理 死磕salt系列-salt API 使用 死磕salt系列-salt 故障汇总 原文地址:https://www.cnblogs.com/biglittleant/p/8743984.html

配置Salt Master

saltstack利用AES加密 yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm yum install salt-master salt-minion -y 创建salt api 认证用户名密码,使用pam认证方式 sudo useradd admin # 必须是admin,如果是其他用户,需要对应修改$HOME/saltshaker_api/saltapi.conf里面的a

系统自动化配置和管理工具:SaltStack

http://os.51cto.com/art/201308/409041.htm SaltStack                2 Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等. 参见 其他文档 下载Salt文档的副本: · PDF · ePub 查看之前的Salt版本文档请访问 http://salt.readthed

jenkins安装简要说明

1.配置JAVA环境变量 # mkdir /usr/local/java/ –p # cd /usr/local/java/ # tar zxvf /data/elk5.0/jdk-8u111-linux-x64.tar.gz # cat >>/etc/profile<<EOF export JAVA_HOME=/usr/local/java/jdk1.8.0_111 export PATH=$PATH:$JAVA_HOME/bin exportCLASSPATH=.:$JAVA_