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 ... 
随机推荐
- 11个优秀的Android开发开源项目
			一. 一个类似微信的时光轴效果 时光轴效果 项目地址 https://github.com/ljtyzhr/TimeLine 二. 安卓选择器类库,包括日期.时间.单项.双项选择器.城市地址选择器 ... 
- linux 挂在win下文件
			使用mount命令 #mount -t cifs -o username=abc,password=1234 //192.168.1.10/linux /mnt/linux #mount -t cif ... 
- Mariadb Galera Cluster 群集 安装部署
			#Mariadb Galera Cluster 群集 安装部署 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ... 
- 微信公众平台创建自定义菜单的PHP代码
			授人以鱼不如授人以渔.在方倍工作室上问了一下,创建自定义菜单的代码多少钱,一张口就一百,好吧,那我就给你们一人省一百块钱吧,你们说该如何谢谢我?事先说明一下啊,你的PHP版本要高于4.0.2才支持cU ... 
- linux 下配置静态IP
			设置静态网络如下[root@bogon network-scripts]# pwd 进入这个路径下 /etc/sysconfig/network-scripts [root@bogon network ... 
- keepalived实现服务高可用
			第1章 keepalived服务说明 1.1 keepalived是什么? Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可 ... 
- WPF依赖对象(DependencyObject) 实现源码,理解WPF原理必读
			/// DependencyObject encompasses all property engine services. It's primary function /// is providin ... 
- java线程池的创建使用
			利用java的多线程编程可以大大的提高系统的并发运行效率,线程越多并发执行的任务就越多,但是并不意味着效率会一直提高,相反会得到适得其反的效果. java中的多线程编程一共有三种方法: 继承Threa ... 
- centos 6.5 安装mongodb2.6
			前言: 系统版本号:Centos-6.5-x86_64 *** Centos编译安装mongodb 2.6 系统最好是64位的,才干更好发挥mongodb的性能 1.准备,下载源文件(二进制编译版) ... 
- php&&页面静态化
			页面静态化.主要是出于两个方面的考虑. 第一:訪问html页面的速度比訪问php页面的速度快.在訪问php页面时候.须要对php进行解析.訪问html时候,直接浏览器能够解析出来.特别是PV量 ... 
