集中化管理平台saltstack--原理及安装

SaltStack原理:

Saltstack由master和minion构成,master是服务器端,表示一台服务器;minion是客户端,表示有多台服务器。在master上发送命令给符合条件的minion,minion就会执行相应的命令,master和minion之间是通过Zero(消息队列)进行通信的。

SaltStack的master端监听4505和4506端口,4505为master和minion认证通信端口,4506为master用来发送命令或接收minion的命令执行返回信息。

当客户端启动后,会主动连接master端注册,然后一直保持该TCP连接,而master通过这条TCP连接对客户端进行控制。如果断开连接,master对客户端将不能进行控制。但是,当客户端检查到连接断开后,会定期向master端请求注册连接

Master:控制中心,salt命令运行和资源状态管理端
Minions:需要管理的客户端机器,会主动去连接master端,并从master端得到资源状态,同步资源管理信息

saltstack系统架构图:

salt三大功能:

  远程执行
  配置管理
  云管理

salt三种运行模式:

  Local
  Master Minion
  Salt SSH

部署SaltStack
部署环境:

1 关闭三台服务器的防火墙

[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# setenforce 0

2 分别更改三台主机的主机名与hosts文件

[[email protected] ~]# hostnamectl set-hostname master.saltstack.com     #更改master的主机名
[[email protected] ~]# hostnamectl set-hostname web01.saltstack.com     #更改节点1的主机名
[[email protected] ~]# hostnamectl set-hostname web02.saltstack.com     #更改节点2的主机名

[[email protected] ~]# vim /etc/hosts               #以下三条信息需要在三台服务器上都进行添加
192.168.199.129 master.saltstack.com
192.168.199.130 web01.saltstack.com
192.168.199.131 web02.saltstack.com
以上操作执行完成后需要重启服务器才可以生效,注意重启完不要忘记关闭防火墙

3 在三台服务器上下载所需要的epel源

[[email protected] ~]# yum install epel-release -y

4 在master上安装salt-master,在节点服务器上安装salt-minion。

[[email protected] ~]# yum install salt-master -y      #注意主控端安装的saltstack软件是master

[[email protected] ~]# yum install salt-minion -y      #两台被控端安装的saltstack软件是minion
[[email protected] ~]# yum install salt-minion -y

5 修改主控端的配置文件,注意默认的master文件全部都是注释的

[[email protected] ~]# vim /etc/salt/master
15 interface: 192.168.199.129       #为了安全将监听地址改为本地地址
215 auto_accept: True               #修改215行的主控端会自动认证被控端的认证,只要被控端在设置完主控端的IP地址后启动服务,主控端就会允许被控端自动认证,以避免以后每次都要运行salt-key来确认证书信任
416 file_roots:                     #修改416行的slatstack文件根目录位置,注意这个目录默认是没有的,需要创建
417   base:
418     - /srv/salt
710 nodegroups:                     #修改710行的组分类,将被控端服务器名添加到相对应的组中
711   group1: ‘web01.saltstack.com‘
712   group2: ‘web02.saltstack.com‘
552 pillar_opts: True               #修改552行的pillar开启功能
529 pillar_roots:                   #修改529行的pillar的主目录,注意这个目录是没有的,需要创建
530   base:
531     - /srv/pillar

使用命令查看主控端修改了哪些内容

[[email protected] ~]# cat /etc/salt/master | grep -v ^$ | grep -v ^#              #该命令是过滤掉文件中的空行开头的行
interface: 192.168.199.129
auto_accept: True
file_roots:
  base:
    - /srv/salt
pillar_roots:
  base:
    - /srv/pillar
pillar_opts: True
nodegroups:
  group1: ‘web01.saltstack.com‘
  group2: ‘web02.saltstack.com‘

6 创建salt文件根目录及pillar目录

[[email protected] ~]# mkdir /srv/salt
[[email protected] ~]# mkdir /srv/pillar

7 做完上述操作后就可以启动salt-master服务

[[email protected] ~]# systemctl start salt-master.service
[[email protected] ~]# netstat -ntap | egrep ‘4505|4506‘          #查看两个监听端口
tcp        0      0 192.168.199.129:4505    0.0.0.0:*               LISTEN      1848/python
tcp        0      0 192.168.199.129:4506    0.0.0.0:*               LISTEN      1860/python         

8 配置两台被控端配置文件,被控端的配置文件默认也都是注释的

[[email protected] ~]# vim /etc/salt/minion
16 master: 192.168.199.129    #指定主控端IP
78 id: web01.saltstack.com    #指定被控主机名
[[email protected] ~]# systemctl start salt-minion.service    #开启服务

[[email protected] ~]# vim /etc/salt/minion
16 master: 192.168.199.129
78 id: web02.saltstack.com
[[email protected] ~]# systemctl start salt-minion.service 

9 验证
在主控端上简单测试一下主控端与被控端的通信状态,如果返回都是True,则说明正常。注意这里的ping和平时用的ping命令不同,它只是test类下面的一个方法而已,用来验证主控端与被控端的通信状态。这里*表示所有通过认证的被控端,还可以支持其他很多正则表达式的匹配。

[[email protected] ~]# salt ‘*‘ test.ping
web02.saltstack.com:
    True
web01.saltstack.com:
    True                                       #可以看到两台被控端与主控端是相通的

原文地址:http://blog.51cto.com/13706760/2308613

时间: 2024-08-07 13:15:10

集中化管理平台saltstack--原理及安装的相关文章

集中化管理平台Saltstack

集中化管理平台Saltstack Saltstack是一个服务器基础架构集中化管理平台,开始于2011年的一个项目,具备配置管理.远程执行.监控等功能,一般可以理解成简化版的puppet和加强版的func.Slatstack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinja2.python-msgpack和PyYAML等)构建. 关于什么是Salt,请查阅官方说明:http://docs.saltstack.cn/t

4、python自动化运维——集中化管理平台Saltstack

集中化管理平台--Saltstack Saltstck作为服务器基础架构集中化管理平台,具备配置管理,远程执行,监控等功能.可以简单地理解为简化版的puppet,加强版的func.废话不多说,直接上手. Saltstack安装以及配置 安装所需要的组件 主控端:salt-master被控端:salt-minion 安装过程 1.安装所需要的epel作为部署saltstack的yum源:yum install -y epel 2.安装salt-master/salt-minionyum insta

集中化管理平台saltstack——自动化实现apache的安装与配置

what-saltstack 1>是一个服务器基础架构集中化管理平台,具备配置管理,远程执行,监控等功能. 2>使用Python开发,部署简单,主从集中化管理,支持API和自定义模块. 3>由Master和Minion构成(基于证书验证),通过轻量级消息队列ZeroMQ进行通信. how-saltstack Saltstack的master端监听4505与4506端口,4505为salt的消息发布系统,4506为salt客户端与服务端通信的端口: salt客户端程序不监听端口,客户端启动

centos6.5上部署集中化管理平台Saltstack!!!

项目背景: 通过部署Saltstsck环境,我们可以在成千上万的服务器上做到批量执行命令,根据不同业务特点我们可以进行配置集中化管理.分发文件.采集服务器数据.软件包管理.可以搭建我们自己的自动化运维平台,满足我们的不同场景下的需求. 实验环境: vmware workstation 11 centos6.5的系统下 Saltstack服务器:ip:192.168.0.27   防火墙关闭  setenforce 0 Saltstck被控端: ip:192.168.0.44   防火墙关闭  s

集中化管理平台Saltstack安装部署

Saltstack一般认为是puppet的简化版和func的加强版 安装: 部署环境: 角色 hostname ip 操作系统 python版本 master master 192.168.224.141 CentOS release 6.4 (Final) Python 2.6.6 minion001 minion001 192.168.224.142 CentOS release 6.4 (Final) Python 2.6.6 minion002 minion002 192.168.224

集中化管理平台Saltstack安装配置

1.安装 #yum install salt-master -y  或  yum install salt-minion -y #chkconfig salt-master on #service salt-master start 2.防火墙配置 #iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT ................................................

集中化管理平台Saltstack远程执行命令

官网:http://saltstack.com/ 国内:http://www.saltstack.cn/ 命令格式: salt '<操作目标>' <方法> <参数> 1.查看minion001主机使用: [[email protected] ~]# salt 'minion001' cmd.run 'free -m' minion001:                  total       used       free     shared    buffers

集中化管理平台saltstack学习--grains(3)

grains grains 这个类似puppet的facter 负责采集客户端一些基本信息,这个也完全可以自定义.一般从服务器端定义然后推下去,采集完后,再汇报上来. altstack里的Grains功能,是控制minion端的静态变量,在master端通过Grains可以获得minion对应的变量值. 查看minion的全部静态变量,可以通过如下实现: # salt '*' grains.ls JYD-test-3: - SSDs - biosreleasedate - biosversion

5、python自动化运维——集中化管理平台Ansible

集中化管理平台Ansible 简介:Ansible是一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台特点:1.部署简单,只需在主控端部署Ansible环境,被控端不用进行任何操作2.默认使用SSH协议对设备进行管理3.主从集中化管理4.提供一个Web管理界面和RESET API接口--AWX平台 Ansible安装及配置 1.安装ansible:yum install –y ansible 2.修改配置文件:/etc/ansible/hosts,添加主机IP. 193.192.168