saltstack api安装使用
Salt自然也是提供api的,使用api对自动化有极大的帮助,我们使用rest风格的api,当然大家都知道salt是python写的,那么自然也就提供了对应的api,但是并不建议使用,因为调用python api的程序是必须运行在master上的,并且此api对python3并不友好
[root@linux-node1 ~]# yum install pyOpenSSL salt-api –y
[root@linux-node1 ~]# salt-call --local tls.create_self_signed_cert
local:
Created Private Key: "/etc/pki/tls/certs/localhost.key." Created Certificate: "/etc/pki/tls/certs/localhost.crt."
[root@linux-node1 ~]# vim /etc/salt/master
[root@linux-node1 ~]# grep "^[a-Z]" /etc/salt/master
default_include: master.d/*.conf # 打开这个
file_roots:
[root@linux-node1 master.d]# cd /etc/salt/master.d/
[root@linux-node1 master.d]# cat api.conf # 定义key存放位置与提供端口
rest_cherrypy:
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/certs/localhost.key
[root@linux-node1 master.d]# cat auth.conf # 定义权限
external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'
- '@wheel' [root@linux-node1 master.d]# systemctl restart salt-master.service
[root@linux-node1 master.d]# systemctl restart salt-api
[root@linux-node1 master.d]# netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 998/sshd
tcp 0 0 0.0.0.0:4505 0.0.0.0:* LISTEN 92795/python
tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN 92801/python
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 93821/python
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 998/sshd
[root@linux-node1 master.d]# useradd -M -s /sbin/nologin saltapi # 正式环境指定guid
[root@linux-node1 master.d]# passwd saltapi
Changing password for user saltapi.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
换台机器测试一下
[root@linux-node2 tmp]# curl -sSk https://192.168.56.11:8000/login \
> -H 'Accept: application/x-yaml' \ # 返回yaml格式,读直观
> -d username='saltapi' \
> -d password='saltapi' \
> -d eauth='pam' # 认证模式是pam
return:
- eauth: pam
expire: 1511276286.304869 # 该token过期时间
perms: {}
start: 1511233086.304869
token: 9374cd95e861ba80cda73375b50917446d7a45f2 # 这个很重要
user: saltapi
[root@linux-node2 tmp]# curl -sSk https://192.168.56.11:8000 \
> -H 'Accept: application/x-yaml' \
> -H 'X-Auth-Token: 9374cd95e861ba80cda73375b50917446d7a45f2'\ # token
> -d client=local \
> -d tgt='*' \
> -d fun=test.ping
return: # 返回的信息很直观
- linux-node1.example.com: true
linux-node2.example.com: true
[root@linux-node3 ~]# curl -sSk https://192.168.56.11:8000/login \
> -H 'Accept: application/json' \ # 返回json格式,容易解析
> -d username='saltapi' \
> -d password='saltapi' \
> -d eauth=pam
{"return": [{"perms": [".*"], "start": 1511235669.459298, "token": "9374cd95e861ba80cda73375b50917446d7a45f2'", "expire": 1511278869.459298, "user": "saltapi", "eauth": "pam"}]}
[root@linux-node3 ~]# curl -sSk https://192.168.56.11:8000 \
> -H 'Accept: application/json' \
> -H 'X-Auth-Token: 9374cd95e861ba80cda73375b50917446d7a45f2'\
> -d client=local \
> -d tgt='*' \
> -d fun=test.ping
{"return": [{"linux-node1.example.com": true, "linux-node2.example.com": true}]}
然后就可以使用小北方的api啦
http://www.cnblogs.com/bfmq/p/7905044.html
saltstack api安装使用的更多相关文章
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...
- Saltstack设置安装源为阿里源
Saltstack设置安装源为官方源有时候在国内网络不好安装较慢或者安装不上,可设置为阿里源 比如对于 Centos 7 系统,在 saltstack 的官网提供的配置初始化手册是: sudo yum ...
- SaltStack自动化安装zabbix-server
使用SaltStack自动化安装zabbix-server 1,设置ntp时间同步 2,安装zabbix-agent 3,安装zabbix-server 4,安装及配置mariadb(mariadb与 ...
- (转)CentOS6/7 使用saltstack源安装saltstack
CentOS6/7 使用saltstack源安装saltstack 原文:https://blog.csdn.net/wh211212/article/details/77053708 CentOS ...
- saltstack API(一) 安装并测试
python3 安装api # 首先安装python3 .tgz cd Python- . ./configure make make install mv /usr/bin/python /usr/ ...
- 深入解读saltstack的安装及配置1
安装 一.安装方法:http://www.linuxeye.com/Linux/2765.html 二.建议安装epel后安装saltstack:http://www.a8z8.com/html/20 ...
- saltstack配置安装的一些关键步骤及安装时各种报错的分析
以下其他仅做参考,官方网址才是安装重点:http://docs.saltstack.cn/topics/installation/rhel.html 与安装相关的一些文档或资料: 一.linux服务器 ...
- 新手!SDK Manager里找不到API安装的选项怎么办?
只有Tools和EXTRAS文件夹的选项,没有API包安装,咋办呢? 回复讨论(解决方案) 网络有问题吗? 网络有问题吗? 就是不知道啊 你是在eclispe里面打开的?还是在外面直接打开的?没有 ...
随机推荐
- Android Studio Ndk 编程
如今开发Android程序基本都已经从Eclipse转到了Android Studio了, 近期项目需求, 须要用到ndk编程, 于是就折腾了一下. 开发环境 Android Studio 1.5.1 ...
- python去除停用词(结巴分词下)
python 去除停用词 结巴分词 import jieba #stopwords = {}.fromkeys([ line.rstrip() for line in open('stopword. ...
- Python+Selenium框架unittest执行脚本方法之discover()方法
继续接着介绍,如何利用unittest管理和执行测试用例的问题,这里我们还是利用之前已经有的三条测试用例,如果你跳过了前面文章,请回到框架设计篇的第八篇和第七篇,里面有相关测试类的文件.本文来介绍,如 ...
- 《后会无期》票房赶超《小时代3》 大数据解读韩寒VS四娘之争
7月25日.韩寒导演的处女作<后会无期>零点首映,而郭四娘导演的<小时代3:刺金时代>比<后会无期>早上映一周.也就是7月17日正式公映,韩寒与四娘之间向来不缺乏话 ...
- vs 编译错误 The name 'InitializeComponent' does not exist in the current context in WPF application
1:文件命名空间的问题 xaml文件和model.cs文件的命名空间 2:csproj 那么它究竟是给谁用的呢?那是给开发工具用的,例如我们在熟悉不过的Visual Studio,以及大家可以没有接触 ...
- ubuntu + lamp + laravel 环境配置
首先是LAMP 安装顺序是 A(Apache服务器) M(Mysql) P(Php) 安装apache sudo apt-get install apache2 安装mysql sudo apt-g ...
- Centos7安装配置ansible运维自动化工具
准备至少两台机器 Centos7,这两台机器都关闭 selinux IP:106.13.118.132 服务端(ansible) masterIP:148.70.60.244 节点 slaver 服务 ...
- align="absmiddle" 图片的中间上下对齐
align=absmiddle表示图像的中间与同一行中最大元素的中间对齐 AbsBottom 图像的下边缘与同一行中最大元素的下边缘对齐.AbsMiddle 图像的中间与同一行中最大元素的中间对齐.B ...
- [不好分类]iphone手机激活错误的处理过程
同事一台iphone 6s手机,重启后显示无法激活.(欢迎访问viphhs,欢迎转载.https://www.cnblogs.com/viphhs) 百度后尝试更换了手机卡,重新连接wifi,都不能恢 ...
- Fully qualified domain name for gitlab
nginx - Fully qualified domain name for gitlab - Stack Overflow https://stackoverflow.com/questions/ ...