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里面打开的?还是在外面直接打开的?没有 ...
随机推荐
- vue2.0 flexible.js + rem 进行自适应开发
1.在页面中引入flexible.js base.js /** * flexible.js 阿里前端自适应解决方案 */ ;(function(win, lib) { var doc = win.do ...
- C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型
标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更主要的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:由 ...
- CareerCup之1.6 Rotate Image
[题目] 原文: 1.6 Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, ...
- 手机pc显示不同的内容
<script type="text/javascript"> // var txt = $('#sjyincang').html(); // alert(txt); ...
- MySQL Infobright 数据仓库快速安装笔记[转]
[文章作者:张宴 本文版本:v1.1 最后修改:2010.05.18 转载请注明原文链接:http://blog.zyan.cc/infobright/] Infobright是一个与MySQL集成的 ...
- EasyHLS实现将IPCamera摄像机的RTSP转HLS直播输出
EasyHLS EasyHLS是EasyDarwin开源流媒体团队开发的一款HLS打包库,接口非常简单,只需要传入打包的文件名.切片存放的目录.单个切片时长以及切片数等参数,EasyHLS库就能轻松将 ...
- TTimer很特殊
TTimer = class(TComponent) private FInterval: Cardinal; FWindowHandle: HWND; FOnTimer: TNotifyEvent; ...
- java读取properties文件中参数值
在类文件中加入代码: //config.properties.sysInfo //sysInfo.properties在文件夹的路径为/src/config/properties/sysInfo.pr ...
- 基于sys文件系统的LED驱动的移植【原创】
基于RK3188平台LED驱动程序的移植的移植.如有不正确之处,欢迎大家指点. 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED. 板子上有四盏灯以及对应 ...
- C++中如何计算程序运行的时间 (转载)
转载地址:http://blog.csdn.net/wuxuguang123/article/details/8130081 一 个程序的功能通常有很多种方法来实现,怎么样的程序才算得上最优呢?举个例 ...