Saltstack的安装和配置
1.安装salt
因为系统自带的yum源不支持saltstack安装包的支持,所以需要安装第三方yum源(epel)
# yum -y install epel-release
salt分为主服务器(控制端)和从服务器(被控制端)
控制端安装:
yum -y install salt-master
被控制端安装:
yum -y install salt-master
2.saltstack防火墙配置
在主控服务器上添加TCP 4505,TCP 4506的规则,而在被控制端无需添加防火墙规则,,原理是被控制端直接直接与主控制端的zeromq建立长连接,接收广播的任务信息并执行。具体操作是在主控服务器上添加两条iptables规则:
# iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
# iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
3. 配置salt的配置文件
master主控端配置:
路径:/etc/salt/master
#指定通信的ip地址
interface:192.168.5.30
#开启自动认证
auto_accept: True
#指定saltstack文件根目录位置
file_roots:
base:
- /srv/salt/
minion被控端配置
路径:/etc/salt/minion
#指定主控端的ip地址
master: 192.168.5.30
user: root
pidfile: /var/run/salt-minion.pid
#指令主控端的ip地址
id: test-1
分别在主控端和被控端对服务进行启用,看saltstack能否自动发现认证。
# salt "*" test.ping
test-1:
True
因为是自动认证,所以服务就重启就直接可以看到是通过的。
4.手动证书认证
salt-key -L 显示已经或未认证的被控制端id
# salt-key -L
Accepted Keys:
test-1
Denied Keys:
Unaccepted Keys:
Rejected Keys:
salt-key -D 删除所以认证主机的id证书
salt-key -d ID 删除单个id证书
salt-key -A 接受所有id证书请求
salt-key -a id 接受单个id证书请求
5.利用saltstack远程执行命令
命令格式:salt '<目标>' <参数> <方法>
查看主机的内存使用情况:
# salt 'test-1' cmd.run "free -m"
test-1:
total used free shared buffers cached
Mem: 980 633 347 3 27 217
-/+ buffers/cache: 388 592
Swap: 1983 0 1983
其中针对<操作目标>,saltstack提供多种方法对被控端主机(id)进行过滤。
1)-E ,--pcre,通过正则表达式进行匹配
# salt -E '^test-*' test.ping
test-1:
True
test-2:
True
2)-L,list,以主机ID名列表的方式进行过滤
# salt -L 'test-1,test-2' grains.item osfullname
test-1:
----------
osfullname:
CentOS
test-2:
----------
osfullname:
CentOS
3)-G,--grain,根据被控主机grains信息进行匹配过滤
# salt -G 'osrelease:6.6' cmd.run 'hostname'
web-1:
Goun-4
test-2:
linux-3
test-1:
linux-2
4)-I,--pillar,根据被控主机的pillar信息进行匹配过滤,格式为“对象名称,对象值”,例如,过滤所有具备‘apache:httpd’pillar值的主机。实:探测具有“nginx:root:/data”信息主机的连通性。
其中pillar属性配置文件如下,详细解释见02章。
nginx:
root:/data
5)-N,--nodegroup,根据主控端master配置文件中的分组进行过滤。以笔者定义的组为例。
vim /etc/salt/master
nodegroups:
test: 'L@test-1,test-2'
web: 'L@web-1'
其中,L@表示后面的主机id格式为列表,即主机id以逗号为分割;G@表示以grain格式描述;S@表示以IP子网或地址格式描述。
例:
# salt -N web test.ping
web-1:
True
6)-C,--compound,根据条件运算符not,and,or去匹配不同规则的主机。
例:探测以test开头并且操作系统为CentOS的主机连通性
# salt -C 'E@^t.* and G@os:CentOS' cmd.run hostname
test-2:
linux-3
test-1:
linux-2
其中,not语句不能作为第一个条件执行,不过可以通过以下方法来规避,示例:探测非test开头
的主机连通性
# salt -C '* and not E@t.*' cmd.run hostname
web-1:
Goun-4
7)-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配
# salt -S '192.168.5.50' cmd.run hostname
test-2:
linux-3
# salt -S '192.168.5.0/24' cmd.run hostname
test-2:
linux-3
web-1:
Goun-4
test-1:
linux-2
Saltstack的安装和配置的更多相关文章
- 深入解读saltstack的安装及配置1
安装 一.安装方法:http://www.linuxeye.com/Linux/2765.html 二.建议安装epel后安装saltstack:http://www.a8z8.com/html/20 ...
- linux系统下saltstack的安装和配置
Saltstack是一个新的基础设施管理工具,两大功能:远程执行和配置管理. Saltstack使用Python开发,是一个非常简单易用和轻量级的管理工具.由Master和Minion构成,通过Zer ...
- SaltStack安装及配置
1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...
- 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自动化安装配置haproxy的Keepalived
keepalived配置安装 什么是vrrp,阿里云不支持组播,所以阿里云上不能配置keepalived,但是它有自己的slb.运维的大忌,在命令行复制粘贴,一般是先复制到文本中查看确认以后salt编 ...
- Ansible 安装与配置(一)
公司大概有200多云主机需要进行管理,但是如果通过手工管理费时还累最终结果也容易出错,所以考虑通过自动化的方式来管理云主机,目前开源的自动化工具,大家用的比较多的有Ansible和Saltstack这 ...
- saltstack SLS 安装haproxy+nginx实例分析学习
本文主要以实例的形式去熟悉sls的部署流程及相关模块的使用 文件下载:https://github.com/unixhot/saltbook-code 目录结构 [root@k8s_master sa ...
- Saltstack设置安装源为阿里源
Saltstack设置安装源为官方源有时候在国内网络不好安装较慢或者安装不上,可设置为阿里源 比如对于 Centos 7 系统,在 saltstack 的官网提供的配置初始化手册是: sudo yum ...
随机推荐
- MySQL的安装(比较详细的安装步骤,包括客户端和服务端的安装,还有环境变量的配置以及使用Windows service启动MySQL)
1.MySQL官网下载操作系统对应的MySQL安装包,解压之后就可以直接使用(免安装). MySQL安装包,一种是MySQL Enterprise Edition (commercial)企业版,还有 ...
- 【ElementUI】日期选择器时间选择范围限制
ElementUI是饿了么推出的一套基于vue2.x的一个ui框架.官方文档也很详细,这里做一个element-ui日期插件的补充. 官方文档中使用picker-options属性来限制可选择的日期, ...
- 利用vertical-align:middle垂直居中
以前总是以为vertical-align与text-align是同样的道理,一个是垂直居中,一个是水平居中,结果在这里一点效果也没有.事实上vertical-align与text-align完全不一样 ...
- PHP大文件分割上传(分片上传)
服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关 upload_max_filesize = 2M //PHP最大能接受的文件大小 post_max_size = 8M //PHP能收 ...
- Linux yum安装和源码安装
转载注明出处:原文地址 Linux Yum 在线安装 在线:Yum配置地址:/etc/yum.repos.d/CentOS-Base.repo 离线:光盘搭建Yum源 挂载光盘 使在线Yum源失效:m ...
- 程序员的自我救赎---11.3:WinService服务
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- javascript算法题判断输入年份是否是闰年
用户输入一个年份,判断这个年是否是闰年.判断闰年条件:① 非整百年数除以4,无余为闰,有余不闰:② 整百年数除以400,无余为闰,有余不闰.比如:2000年,整百数年,就要用②公式,除以400,无余数 ...
- Mac下CUDA开启及Tensorflow-gpu安装
本文由@ray 出品,转载请注明出处. 文章链接:http://www.cnblogs.com/wolfray/p/8040694.html 在之前的文章中,笔者介绍了在Mac下安装Tensorfl ...
- Python之编程基础(编程语言分类)
一.编程语言简介 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.编译型跟解释型 编译型,其实他和汇编语言是一样的,也是有一个负责翻译的程 ...
- 这是我对GET与POST的区别的回答
不知在哪里看到的这种答案,之前很长一段时间对GET与POST的区别理解如下 一是GET数据附加在URL之后,是显示的,不安全的,POST反之. 二是数据大小限制,GET受URL长度限制,数据有限,PO ...