linux salt生成,51CTO博客-专业IT技术博客创作平台-技术成就梦想
网上找了很多文档都访问不了salt-api,搞了好半天,终于弄好了,写个笔记,方便以后查询
如果需要通过第三方来调用SaltStack时,使用SaltStack自带的Python API并不能很好的满足需求。可以通过使用SaltStack基于RESTful风格的HTTP API。该API模块并不是内置的,需要单独安装。
Salt REST API简介
这里简单的说明下,SaltStack官方支持三种REST API,分别是rest_cherry; rest_tonado和rest_wsgi
rest_cherry和rest_tonado两个模块支持监听所有IP的指定端口接收请求
rest_wsgi只支持本机访问,只绑定了127.0.0.1
安装Salt-API服务shell> yum -y install gcc make python-devel libffi-devel
shell> pip install pyOpenSSL==0.15.1
借助salt工具来生成证书shell> salt-call --local tls.create_self_signed_cert
salt-call是salt-minion的工具,如果没有这个命令,可以在master端安装minion,然后再执行以上命令
配置用户及权限
shell> useradd -M -s /sbin/nologin sa
shell> echo "sapassword" | passwd sa --stdin
在salt-master的配置文件最后添加如下配置
external_auth:
pam: #认证模式,pam指的是用Linux本身的用户认证模式
sa: #Linux系统中真实存在的用户名
-'*': #设置用户的权限,允许该用户操作哪些主机,*代表全部
-test.* #允许操作的模块及方法
-cmd.*
配置salt-api服务
在salt-master的配置文件最后添加如下配置rest_cherrypy:
port: 1559 #默认监听所有IP的1559端口
ssl_crt: /etc/pki/tls/certs/localhost.crt #引用的正是前面创建的证书
ssl_key: /etc/pki/tls/certs/localhost.key
启动服务shell> service salt-api start
登陆获得Tokencurl -sSk https://www.20150509.cn:1559/login \
-H 'Accept: application/x-yaml' \
-d username=sa \
-d password=sapassword \
-d eauth=pam
复制得到的Token
curl -sSk https://localhost:8000 \
-H 'Accept: application/x-yaml' \
-H 'X-Auth-Token: 697adbdc8fe971d09ae4c2a3add7248859c87079'\
-d client=local \
-d tgt='*' \
-d fun=test.ping
使用Python脚本来访问APIimport json
import urllib
import urllib2
#在python2.6x中,以下两行不是必须的
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
url='https://www.20150509.cn:1559' #salt-api所在的“坐标”
def test():
pre_data = [{"client":"local", "tgt":"*", "fun":"test.ping"}] #根据上面官方文档的要求组成数组嵌套字典的形式
json_data = json.dumps(pre_data) #将其转化为json格式
header = {"Content-Type":"application/json", "Accept":"application/json", "X-Auth-Token":"697adbdc8fe971d09ae4c2a3add7248859c87079"}
#这里说明下,Content-Type是声明传递给API的数据是什么格式的,这里指定了json,是因为上面的pre_data数据被我转化成了json格式
#Accept是声明返回结果以什么样的格式显示,这里也指定了json格式来显示返回结果
request = urllib2.Request(url, json_data, header) #构造一次请求
response = urllib2.urlopen(request) #构造一次HTTP访问
html = response.read()
print html
if __name__=="__main__":
test()
linux salt生成,51CTO博客-专业IT技术博客创作平台-技术成就梦想相关推荐
- pxe安装linux dhcp失败,51CTO博客-专业IT技术博客创作平台-技术成就梦想
原理有必要说明一下 (百度偷来的) 原理和概念: 1.1 什么是PXE 严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含 ...
- linux定时刷新命令结果,51CTO博客-专业IT技术博客创作平台-技术成就梦想
基本指令等: 部分快捷键: ctrl+c 强制结束当前运行程序,终止命令 ctrl+d 结束当前运行程序 先按ESC然后按. 或者同时按住ALT和. 则输入上一条命令的最后一个参数,与!$相同 Ctr ...
- linux基础知识全面总结,51CTO博客-专业IT技术博客创作平台-技术成就梦想
根据RH033课程整理而成. 12月19号 Lecture 10 进程:活体,程序的副本 定义:进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位.--<计算机操作系统> 进程的 ...
- linux vbox 不能使用scsi_id 查看uuid,51CTO博客-专业IT技术博客创作平台-技术成就梦想...
今天在搭建RAC的时候,使用udev方式来创建ASM磁盘,执行/sbin/scsi_id命令不知道啥原因,死活获取不到UUID,执行结果啥也不显示. [root@seiang2 ~]# scsi_id ...
- linux主节点启动nfs,51CTO博客-专业IT技术博客创作平台-技术成就梦想
Windows系统之间下以实现文件和目录的共享,那么在linux系统下面是否也可以实现了,我们就测试一下: 在linux下面实现目录共享的软件是nfs 要配置nfs服务首先要配置rsh服务才可以,具体 ...
- linux grep 快速,51CTO博客-专业IT技术博客创作平台-技术成就梦想
什么是grep? grep (global search regular expression(RE) and print out the line,其全称意义为全局搜索正则表达式,并打印出来.是一种 ...
- linux httpd 域名映射,51CTO博客-专业IT技术博客创作平台-技术成就梦想
一.DNS服务器的设置 我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的.因此要想实现虚拟域名首先应当令DNS 服务器接受该虚拟域名,即把它映射 ...
- linux实时备份,51CTO博客-专业IT技术博客创作平台-技术成就梦想
rsync缺点/不足: 1.rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的,并且正在发生变化的往往是其中很少的一部分, ...
- linux使用grep数字个数,51CTO博客-专业IT技术博客创作平台-技术成就梦想
一.作业(练习)内容: 1.总结本此课程中所涉及命令的使用方法及相关示例展示: Linux文本处理三剑客: grep: 文本过滤工具: sed:文本编辑器(行):stream editor awk:文 ...
最新文章
- pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns
- 在IE7下使用Fiddler
- 实现Callable接口通过FutureTask包装器来创建Thread线程
- java oracle 视图不存在_Weblogic 10.3,JDBC,Oracle,SQL - 表或视图不存在
- Oracle图形化管理工具——OEM
- jsp脚本、jsp标准动作、EL表达式、JSTL标签
- Springboot2.0访问Redis集群
- 【C++】位运算实现加减乘除
- symfony app dev.php,Symfony 2:404未找到当tryes打开/app_dev.php时出错
- 网易2017春招笔试真题编程题集合
- Android setOnPageChangeListener 过时解决
- Hosts 文件切换工具
- 前端开发必须知道的JS(二) 闭包及应用
- Spring源码系列(十一)——Spring源码总结
- 19.4.17 javaScript基础 培训第三天
- 小型超市管理系统【软件工程大作业】
- FFmpeg+dxva2 H265硬解码 下方出现绿条或被下方拉长
- android自定义吸顶,Android ScrollView+ViewPager 固定顶部控件,自动吸顶效果
- 游标CURSOR的基本用法
- linux服务器挂载ntfs u盘,如何在linux下挂载NTFS格式的U盘或硬盘。