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 ...
随机推荐
- test only
Test TinyMCE only , Test Link
- gulp 小坑一个
学习gulp的时候,看到很多人写到 gulp.task('styles', function() { return gulp.src('src/styles/main.scss') .pipe(sas ...
- 学习爬虫的day02 (用线程去爬虫 提高速度)
通过lxml的方式去分析数据,将爬到的数据放到file中的html中代码如下# 用线程去爬虫 from urllib.request import Request from urllib.reques ...
- windows配置git
每次要使用git指令的时候都要去打开git bash 操作,太麻烦,要想直接在dos窗口下使用git指令需要再进行如下环境变量配置. 1.系统环境变量path添加:D://programFiles/g ...
- 如何在HTTP头中隐藏PHP版本号
PHP 配置默认允许服务器在 HTTP 响应头 X-Powered-By 中显示安装在服务器上的 PHP 版本.出于服务器安全原因(虽然不是主要的要担心的威胁),建议你禁用或隐藏此信息,避免那些针对你 ...
- php简单实现发微博动态
首先,肯定是注册成为开发者新浪微博开放平台 选择网站应用,填写一些基本信息 填完后在'我的应用'中,会看到刚创建的应用信息,我们只是简单的测试一下,所以其他复杂的注册信息都不用填写,有这些就够了 很重 ...
- Swagger服务API治理详解
swager2的简介 在App后端开发中经常需要对移动客户端(Android.iOS)提供RESTful API接口,在后期版本快速迭代的过程中,修改接口实现的时候都必须同步修改接口文档,而文档与代码 ...
- dubbo源码—SPI
Java中的SPI SPI,Service Provider Interface,java中提供的一种使程序可扩展的方式,系统定义好接口规范,供其他服务提供方实现,服务提供方将自己jar包META-I ...
- JavaScript中对日期格式化的新想法.
其实我们对与日期的显示,也就那么几种,不需要每次都传格式化字符串. 只要告诉函数你想要什么结果就好了,以下是在ios的JavaScript中我新写的日期格式化函数: /** 格式化日期 @param ...
- ActiveMQ基本详解与总结
MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传 ...