saltstack的介绍和安装配置

这篇文章的知识点包括:saltstack的简介、saltstack的工作原理、saltstack的安装配置以及saltstack的使用,阅读完整文相信大家对saltstack工具有了一定的认识。
saltstack概述在生产环境中,服务器往往不止一两台,一般都是成千上万台服务器。这对运维人员来说管理难度太大了,而saltstack是一个新的基础平台管理工具,可以支持管理上万台服务器规模,数秒钟即可完成数据传递,是现在用的比较多的自动化运维工具之一。Salt是一个基础平台管理工具。SaltStack采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。master监听4505和4506端口,4505为master和minion认证通信端口,4506为master用来发送命令或者接收minion的命令执行返回信息。saltstack介绍1、基于python语言开发的
2、轻量级管理工具,批量执行命令
3、常用模板
名称含义pkg包,有增删更新file用于管理文件,包括同步文件、设置文件权限和所属用户组、删除文件等操作cmd在minion上执行命令或者脚本use管理系统账户操作service管理系统服务操作cron管理crontab任务4、saltstack数据系统
Grains(静态数据)
pillar(动态数据)saltstack三大功能远程执行
配置管理
云管理
saltstack工作原理SaltStack客户端(Minion)在启动时,会自动生成一套密钥,包含私钥和公钥。之后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列ZeroMQ在客户端与服务端之间建立消息发布连接。Minion是SaltStack需要管理的客户端安装组件,会主动去连接 Master端,并从Master端得到资源状态信息,同步资源管理信息。
Master作为控制中心运行在主机服务器上,负责Salt命令运行和资源状态的管理,Master上执行某条指令通过队列下发到各个Minions去执行,并返回结果。
ZeroMQ是一款开源的消息队列软件,用于在Minion端与Master端建立系统通信桥梁。saltstack优缺点优点速度快,基于消息队列+线程,跑完多台设备,都是毫秒级别的;非常灵活,源码是python,方便理解和自定义模块(因为python相对于其他的perl、ruby等还是很好理解的)命令简单,功能强大。缺点部署minion端较为不便。Saltstack重要组件grainsgrains是在minion(客户端)启动时收集到的一些信息,比如操作系统类型、网卡ip等静态信息。grains 的信息并不是动态的,并不会时时变更,它只是在 minion 启动时收集到的。pillarpillar和grains不一样,是在master上定义的,并且是针对minion定义的一些信息。像一些比较重要的数据(密码)可以存在pillar里,还可以定义变量等。statestate是saltstack的最核心的功能,通过预先指定好的sls文件对 被控主机进行管理(包括:包、网络配置、系统服务、系统用户等)Saltstack常用命令拷贝文件到客户端salt 'client2' cp.get_file salt:#apache.sls /tmp/cp.txt拷贝目录到客户端salt 'client2' cp.get_dir salt:#test /tmp显示存活的客户端salt-run manage.up命令下执行服务端的脚本#编辑脚本vim /srv/salt/test/shell.sh#! /bin/shecho "salt server do run shell script on client" > /tmp/shell.txt#执行脚本salt 'client2' cmd.script salt:#test/shell.shSaltstack操作实例-批量部署apache环境部署准备三台机器,这三台机器都关闭selinux,清空防火墙规则。服务器角色IP地址主机名称master192.168.142.123master.saltstack.comminion01192.168.142.124web01.saltstack.comminion02192.168.142.166web02.saltstack.com安装 saltstack#分别为三台机器添加epel源,本地有官方源yum install -y epel-release #安装epel源#服务器安装yum -y install salt-master配置 master主机#安装完成修改主配置文件vim /etc/salt/master#修改如下内容#15行 interface: 192.168.175.132  #监听地址#215行 auto_accept: True    #避免要运行salt-key来确认证书认证#416行 file_roots:     base:     - /srv/salt      #saltstack文件根目录位置,目录需要创建#710行组分类nodegroups: group1: 'web01.saltstack.com' group2: 'web02.saltstack.com'#552行 pillar_opts: True    #开启pillar功能,同步文件功能#529行 pillar_roots:     base:     - /srv/pillar     #pillar的主目录,需要创建cat /etc/salt/master | grep -v ^$ | grep -v ^#   #查看对主配置文件做的更改启动服务器#开启服务systemctl start salt-master#设定服务开机自启systemctl enable salt-master#查看服务端口监听状态netstat -anpt | egrep '4505|4506'创建salt与pillar文件根目录mkdir /srv/saltmkdir /srv/pillar被管理端(minion)安装#在两台服务器上分别安装yum -y install salt-minion配置minino端#修改/etc/salt/minino主配置文件vim /etc/salt/minion#修改配置如下#16行 master: 192.168.175.132   #指定主控端IP#78行 id: web01.saltstack.com   #指定被控端主机名启动被控端服务systemctl start salt-minion在主控端测试与被控端的通信状态#查看通信状态salt '*' test.ping#查看所有被管理端的挂载状态salt '*' cmd.run 'df -h'#查看在 master 上已经被接受过的客户端salt-key#查看被控主机上grains所有值(每次minion在启动是都会获取客户端信息)#静态数据salt 'web01.saltstack.com' grains.items#动态数据salt 'web01.saltstack.com' pillar.items配置管理安装Apache,下面进行的演示是远程通过yum方式安装Apache,步骤如下:#修改主配置文件vim /etc/salt/master file_roots: base:  - /srv/salt/#注意:环境:base、dev(开发环境)、test(测试环境)、prod(生产环境)。#创建工作目录mkdir /srv/saltvim /srv/salt/top.slsbase: '*':  - apache#注意:'*',则表示在所有的客户端执行apache模块。vim /srv/salt/apache.slsapache-service: pkg.installed:  - names:        # 如果只有一个服务,那么就可以写成–name: httpd不用再换一行   - httpd   - httpd-devel service.running:  - name: httpd  - enable: True#注意:apache-service是自定义的id名。pkg.installed为包安装函数,下面是要安装的包的名字。service.running也是一个函数,来保证指定的服务启动,enable表示开机启动。#重启服务systemctl restart salt-master#执行刷新state配置命令salt '*' state.highstate 在两台minino端验证httpd服务是否安装成功#查看服务端口监听状态netstst -ntap | grep 80#查看生成的配置文件rpm -qc httpd以上就是saltstack的详细内容了,看完之后是否有所收获呢?

海外访问存在延迟高,访问慢等问题,使得企业开发的软件在用户侧使用效果不理想,在使用云专线加速后,给海外用户提供稳定优质的访问体验,同时也帮助国内SaaS厂商更好地服务海外企业。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值