salt-api安装以及简单实使用
1、安装说明
操作系统版本:CentOS Linux release 7.5.1804 (Core)
saltstack版本:2018.3.2
已经关闭selinux、firewalld服务。
2、配置yum源
编辑/etc/yum.repos.d/salt.repo,内容如下: [salt-latest]
name=SaltStack Latest Release Channel for RHEL/Centos $releasever
baseurl=https://mirrors.aliyun.com/saltstack/yum/redhat/7/$basearch/latest
failovermethod=priority
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key
3、安装salt-master、salt-minion、salt-api
yum install salt-master salt-minion salt-api pyOpenSSL
4、配置salt-master配置文件
master节点配置文件为/etc/salt/master,内容如下: interface: 0.0.0.0
publish_port:
user: root
max_open_files:
worker_threads:
ret_port:
root_dir: /
default_include: master.d/*.conf #设置salt master的配置文件,包含master.d目录下的文件
pki_dir: /etc/salt/pki/master
keep_jobs: 24
timeout: 5
auto_accept: True
state_top: top.sls
file_roots:
base:
- /srv/salt
log_file: /var/log/salt/master
log_level: debug
file_recv: True #启用从客户端传送文件到master节点
5、部署配置salt-api认证,添加认证用户,生成证书等
#创建一个saltapi用户,同时为该用户添加密码
useradd -M -s /sbin/nologin saltapiuser
echo '' | passwd saltapi --stdin #开启visudo,使该用户能拥有root权限
usermod -g wheel saltapi #进行自签名证书配置
cd /etc/pki/tls/certs/
make saltapicert
salt-call --local tls.create_self_signed_cert 提示已经存在时,可以删除/etc/pki/tls/certs/localhost.crt /etc/pki/tls/certs/localhost.key重新生成
6、添加salt-api配置文件,设置远程调用端口等内容
vim /etc/salt/master.d/api.conf 内容如下:
rest_cherrypy:
port: 8010 #设置远程rest api调用端口
ssl_crt: /etc/pki/tls/certs/localhost.crt #自定义tls证书,使其支持https
ssl_key: /etc/pki/tls/certs/localhost.key #自定义key
external_auth: #设置认证方式
pam:
saltapi:
- .*
- '@wheel'
- '@runner' 若不想使用https调用,则将ssl_cert、ssl_key配置去掉即可。
7、配置完成之后,需要重启相关服务
systemctl restart salt-master
systemctl restart salt-api
systemctl restart salt-minion
8、获取认证token值
curl -sSk https://18.18.1.6:8010/login -H 'Accept: application/x-yaml' -d username='saltapiuser' -d password='123456' -d eauth='pam'
显示内容如下:
return:
- eauth: pam
expire: 1535514571.611626
perms:
- .*
- '@wheel'
- '@runner'
start: 1535471371.611626
token: f9546b1a123bd1edcefefbcff37a54ff3358cda3 #此处即为远程调用的token值
user: saltapiuser
备注:如果在配置文件中,并未配置ssl_cert、ssl_key配置,请使用http进行调用。同时若重启salt-api服务,token值会变化。若再次生成,也会发生变化。
9、执行models,使用test.ping查看是否调用成功。
[root@--- ~]# curl -k https://18.18.1.6:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9546b1a123bd1edcefefbcff37a54ff3358cda3" -d client='local' -d tgt='192.168.40.71' -d fun='test.ping'
return:
- 192.168.40.71: true 输出结果如上,即可说明salt-api已经配置完成,同时可使用rest api进行调用。
10、远程调用命令解析
-d client='local':使用local进行远程命令执行
-d tgt='192.168.40.71':指定远程minion节点地址
-d fun='cmd.run' :调用的模块名称
-d arg='ip addr list':调用模块所需要的参数 备注:如果调用的模块需要多个参数,需要指定多个-d arg='参数内容'进行使用。请参考模块使用示例中的add_host添加解析作为参考。
11、常用模块使用示例
使用cmd.run模块,远程执行命令
curl -k https://18.18.1.6:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9546b1a123bd1edcefefbcff37a54ff3358cda3" -d client='local' -d tgt='192.168.40.71' -d fun='cmd.run' -d arg='ip addr list' 使用add_host添加hosts解析
curl -k https://18.18.1.6:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9546b1a123bd1edcefefbcff37a54ff3358cda3" -d client='local' -d tgt='192.168.40.71' -d fun='hosts.add_host' -d arg='2.2.2.2' -d arg='test.lcs'
其中2.2.2.2为ip地址,test.lcs为域名。 使用cp.push方法从minion上将文件复制到master节点上
curl -k https://18.18.1.6:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9546b1a123bd1edcefefbcff37a54ff3358cda3" -d client='local' -d tgt='192.168.40.71' -d fun='cp.push' -d arg='/tmp/1.txt'
复制过来的文件位置为:/var/cache/salt/master/minions/192.168.40.71/files/tmp,其中192.168.40.71为minion节点ip地址。 调用cp.get_file方法,将master节点上文件复制到minion节点上。
curl -k https://18.18.1.6:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9546b1a123bd1edcefefbcff37a54ff3358cda3" -d client='local' -d tgt='192.168.40.71' -d fun='cp.get_file' -d arg='salt://tmp/1.txt' -d arg='/data/1.txt' 由于需要在复制文件的时候,需要传入多个参数,因此,使用run模块,将多个参数放在列表中传入。
curl -k https://18.18.1.6:8010/run -H "Accept: application/json" -H "Content-type: application/json" -d '[{"client":"local","tgt":"192.168.40.71","fun":"cp.get_file","arg":["salt://tmp/1.txt","/data/111.txt"],"username":"xxx","password":"xxx","eauth":"pam"}]'
salt-api安装以及简单实使用的更多相关文章
- CentOS 安装及配置Salt api
安装 # yum -y install salt-api 更改配置 vim /etc/salt/master 把默认的注释掉 我们这边默认配置文件目录是/srv/salt default_inclu ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- (转)python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用
版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...
- redis的安装与简单使用
redis的安装与简单使用: Redis简介: redis的应用场景: 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...
- 一、restful规范 二、CBV(View)源代码执行流程 三、drf框架安装和简单使用
一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example. ...
随机推荐
- Python:基础知识
python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...
- oracle版本兼容问题
问题一描述:本机环境升级为vs2012升级TLS程序为framework4.0,本机ODAC为ODTwithODAC112030.本机为oracle10g本机程序生成成功,运行成功. 发布到服务器后, ...
- 探讨CAN总线的抗干扰能力
探讨CAN总线的抗干扰能力 CAN总线经近20年的发展已步入壮年期,它不仅在汽车领域的应用占据一定优势,在其他工业应用上也生机勃勃.枝繁叶茂.究竟是什么原因使它这么成功?当人们发现它的局限性,又面临新 ...
- vi 格式配置
echo set cursorline >>.vimrcecho set ic >>.vimrcecho set nu >>.vimrc
- vi 替换
在vi编辑器中,能够利用 :s命令能够实现字符串的替换.详细的使用方法例如以下: 1.:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串str1: 2.:s/str1/str2/ ...
- 算法篇(前序)——Java的集合
菜鸟拙见,望请纠正:附上JDK参考文档(中文文档和英文文档):链接:https://pan.baidu.com/s/14KDmCtQxeGCViq7e0zENjA 密码:e9xs 以及算法篇全文链接 ...
- solr服务器搭建与Tomact整合及使用
一:solr服务器的搭建 1:搭建全新的为solr专用的solr服务器: 在自己电脑上搭建两台Tomact服务器,一台仍为应用服务器,一台作为solr服务器,应用服务器按照正常Tomact服务器搭建即 ...
- 大数据入门第十六天——流式计算之storm详解(一)入门与集群安装
一.概述 今天起就正式进入了流式计算.这里先解释一下流式计算的概念 离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据 ...
- 【php增删改查实例】第七节 - 部门管理模块(画一个datagrid表格)
在easyui中,datagrid组件需要用一个table标签去渲染. <table id="grid0" title="部门管理" class=&quo ...
- Js_获取浏览器等高宽
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document. ...