saltstack - salt-api安装配置

环境说明

操作系统:centos 7.0

salt master/minion/版本2014.7.1

Salt-api安装

salt-api 使用pip安装

[[email protected] ~]# pip install CherryPy
[[email protected] ~]# pip install salt-api

Salt-api配置

[[email protected] ~]# cd /etc/pki/tls/certs/  # 生成自签名证书,用于ssl
[[email protected] certs]# make testcert     
umask 77 ; /usr/bin/openssl genrsa -aes128 2048 > /etc/pki/tls/private/localhost.key
Generating RSA private key, 2048 bit long modulus
...................................................................+++
..+++
e is 65537 (0x10001)
Enter pass phrase:       # 输入加密密语,4到8191个字符
Verifying - Enter pass phrase:   # 确认加密密语
umask 77 ; /usr/bin/openssl req -utf8 -new -key /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt -set_serial 0
Enter pass phrase for /etc/pki/tls/private/localhost.key:     # 再次输入密语
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN                             # 选填
State or Province Name (full name) []:Shanghai
Locality Name (eg, city) [Default City]:Shanghai
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server‘s hostname) []:
Email Address []:[email protected]
[[email protected] certs]# cd ../private/
[[email protected] private]# openssl rsa -in localhost.key -out localhost_nopass.key
Enter pass phrase for localhost.key:
writing RSA key
[[email protected] private]# ls
localhost.key  localhost_nopass.key

注:

1、 如果make testcert出现错误,删除/etc/pki/tls/private/localhost.key文件,然后再make testcert。

2、 装salt-api的时候,使用curl命令遇到curl: (56) SSL received a record that exceeded the maximum permissible length.可能是CherryPy包的问题。

# 创建用户
[[email protected] private]# useradd -M -s /sbin/nologin saltapi
[[email protected] private]# echo "yao" | passwd saltapi --stdin
# 添加配置文件
[[email protected] ~]# mkdir -p /etc/salt/master.d/      
[[email protected] ~]# vim /etc/salt/master.d/eauth.conf   # 处于安全因素,一般只给特定模块的使用权限,这里给saltapi用户所有模块的使用权限 
external_auth:
  pam:
    saltapi:
      - .*
      
[[email protected] ~]# vim /etc/salt/master.d/api.conf 
rest_cherrypy:
  port: 8888                          #  salt-api 监听端口
  ssl_crt: /etc/pki/tls/certs/localhost.crt          # ssl认证的证书
  ssl_key: /etc/pki/tls/private/localhost_nopass.key
  
[[email protected] ~]# systemctl restart salt-master.service
[[email protected] ~]# systemctl restart salt-api.service

Salt-api使用

1、curl使用

获取token

[[email protected] ~]# curl -k https://172.16.199.249:8888/login -H "Accept: application/x-yaml" -d username=‘saltapi‘ -d password=‘yao‘ -d eauth=‘pam‘
return:
- eauth: pam
  expire: 1427373796.305001
  perms:
  - .*
  - ‘@wheel‘
  - ‘@runner‘
  start: 1427330596.305
  token: ec8d60e3b492e9947e557eefd4112802053432c7
  user: saltapi

查询minion的信息

[[email protected] ~]# curl -k https://172.16.199.249:8888/minions/compute-1 -H "Accept: application/x-yaml"      -H "X-Auth-Token: 9845eab9848c5b5ba72fbad9102532bddab2df7f"   # token是上面获取到的,如果后面跟的请求不包含特定minion id如compute-1,则请求的是所有的minion的信息。
return:
- compute-1:
    SSDs: []
    biosreleasedate: 01/01/2011
    biosversion: 0.5.1
    cpu_flags:
    - fpu
    - vme
。。。。。。

查询缓存的job信息

[[email protected] ~]# curl -k https://172.16.199.249:8888/jobs/20150326085224919460 -H "Accept: application/x-yaml"      -H "X-Auth-Token: 9845eab9848c5b5ba72fbad9102532bddab2df7f"    # 如果后面跟的请求不包含特定job id如20150326085224919460,则请求的是所有job的信息。
info:
- Arguments: []
  Function: test.ping
  Minions:
  - compute-1
  Result:
    compute-1:
      return: true
  StartTime: 2015, Mar 26 08:52:24.919460
  Target: ‘*‘
  Target-type: glob
  User: root
  jid: ‘20150326085224919460‘
return:
- compute-1: true

远程执行module

[[email protected] ~]# curl -k https://172.16.199.249:8888 -H "Accept: application/x-yaml" -H "X-Auth-Token: 9845eab9848c5b5ba72fbad9102532bddab2df7f" -d client=‘local‘ -d tgt=‘*‘ -d fun=‘test.ping‘
return:
- compute-1: true

远程执行runner

[[email protected] ~]# curl -k https://172.16.199.249:8888 -H "Accept: application/x-yaml" -H "X-Auth-Token: 9845eab9848c5b5ba72fbad9102532bddab2df7f" -d client=‘runner‘  -d fun=‘manage.status‘
return:
- down: []
  up:
  - compute-1

远程运行wheel

[[email protected] ~]# curl -k https://172.16.199.249:8888 -H "Accept: application/x-yaml" -H "X-Auth-Token: 0110cb3fd4bc4521d5c2de7126eadfd786dc8b36" -d client=‘wheel‘  -d fun=‘key.list_all‘
return:
- data:
    _stamp: ‘2015-03-26T13:42:16.569194‘
    fun: wheel.key.list_all
    jid: ‘20150326134216540701‘
    return:
      local:
      - master.pem
      - master.pub
      minions:
      - compute-1
      minions_pre: []
      minions_rejected: []
    success: true
    tag: salt/wheel/20150326134216540701
    user: saltapi
  tag: salt/wheel/20150326134216540701

参考链接

姚鹏salt-api配置

配置管理(3) salt-api安装、配置、使用

时间: 2024-11-06 03:40:03

saltstack - salt-api安装配置的相关文章

运维自动化之:Saltstack配置管理工具安装配置使用攻略

系统环境: Centos 6.x 服务端(salt-master):10.1.2.11 客户端(salt-minion):10.1.2.10.10.1.2.11.10.1.2.12 安装: rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm 服务端:yum install salt-master  客户端:yum install salt-minion 服务端配置: vim /etc/sal

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

实战使用saltstack源码安装配置mysql

环境: salt_master:192.168.100.228 salt_client1:192.168.100.245 master client 版本一致 [[email protected]_server base]# salt --versions-report            Salt: 0.17.5          Python: 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)          Jinja2: unknown       

自动化运维工具SaltStack安装配置

SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯.通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.采集服务器数据.操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率.规范业务配置与操作的利器. 特性:(1).部署简单.方便:(2).支持大部分UNIX/Linux及Windows环境:(3).主从集中化管理:(4

saltstack 安装配置详解

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建. 通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.采集服务器数据.操作系统

高效运维1:SaltStack 安装配置

一.SaltStack简介 SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯.通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.采集服务器数据.操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率.规范业务配置与操作的利器. 二.实验环境 1.版本 系统版本:CentOS 6.4 64bit Python版本:原生

saltstack安装配置(master&minion)草稿

操作系统centos6.3,centos6.4,windows server2008R2. 文中的下载链接可能会随着saltstack官网上版本的更新,而出现变动或错误,请以你需要安装的版本链接为准.我写上具体链接是为了近段时间重复操作时方便. 本文中,linux采用EPEL安装,windows选择exe安装包. 1.在你的系统中如果EPEL当前并不是enabled状态,你可以通过如下命令启用它. 对于RHEL 5: rpm -Uvh http://mirror.pnl.gov/epel/5/i

SaltStack安装配置与远程执行测试

SaltStack是基于Python开发的服务器基础架构集中管理平台,也称为自动化运维工具,具备远程执行.配置管理.云管理三大功能.管理端称为Master,被管理端称为Minion,Master和Minion通过密钥认证进行加密通信,通过消息队列软件ZeroMQ进行内容传输,使用的默认端口为4505和4506.本文的主要内容为SaltStack的安装配置与远程执行测试. 一.环境准备 1.使用3台Redhat 6.5的服务器,分别是: salt-master:192.168.10.120 sal

Saltstack 安装配置 及 简单操作示例

Saltstack 介绍 通过部署 Saltstack环境,可以在成千上万台服务器上批量执行命令.对于不同的业务进行集中管理.分发文件.采集数据.软件包管理等,有利于运维人员提高工作效率,规范业务配置和操作. Saltstack由 Master和 Minion构成, Master是服务端,表示一台服务器; Minion是客户服务端,表示多台服务器.在 Master上发送命令给符合条件的 Minion, Minion就会执行相应的命令, Master和 Minion之间是通过 Zeromq(消息队

集中化管理平台Saltstack安装配置

1.安装 #yum install salt-master -y  或  yum install salt-minion -y #chkconfig salt-master on #service salt-master start 2.防火墙配置 #iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT ................................................