Hi 你好,欢迎访问!登录
当前位置:首页 - 自动化运维 - 正文 忍人所不忍,能人所不能。

Linux自动化工具之SaltStack介绍与安装

2020-02-22自动化运维90root46°c
A+ A-
一、SaltStack简介
     salt是一个新的基础平台管理工具, 只需要花费数分钟即可运行起来, 扩展性足以支撑管理上万台服务器, 数秒钟即可完成数据传递. 经常被描述为Func加强版+Puppet精简版. SaltStack采用C/S架构.
     简单的说: salt是一种全新的基础设施管理方式, 部署轻松, 在几分钟内可运行起来, 扩展性好. 很容易管理上万台服务器, 速度快, 服务器之间秒级通信. salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.
     最为重要的一点, salt是开源的. 而且是python实现的自动化运维工具, 这意味着我们可以对其进行一些改动, 在其基础之上加上我们想要的功能, 对其进行二次开发.
二、环境介绍
     系统Centos_6.6 x64两台, 一台为master,另一台为minion.
三、SaltStack安装
     1. 如果机器内没有epel, 请下载.(2台机器都执行)
[[email protected] ~]# rpm -Uvh http://ftp.Linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
     2. 由于salt的master和minion包是分开的, 所以机器需要安装相应的包, 通常情况下, 一个master会对应多个minion
          2.1 在master运行
[[email protected] ~]# yum -y install salt-master
          2.2 在minion上运行
[[email protected] ~]# yum -y install salt-minion
四、SaltStack配置
     1. 修改master配置文件
[[email protected] ~]# vim /etc/salt/master 
interface: 192.168.1.48                              #服务端ip.
[[email protected] ~]# /etc/init.d/salt-master start
     2. 修改被管理端(minion)
[[email protected] ~]# vim /etc/salt/minion
master: 192.168.1.48                                 #master的主机名或ip. IP地址后面有一个空格
id: vps4051                                                #本机标识符,默认为主机名
[[email protected] ~]# /etc/init.d/salt-minion start
     3. 日志文件默认路径
[[email protected] ~]# tail -f /var/log/salt/master                #master
[[email protected] ~]# tail -f /var/log/salt/minion                #minion
     4. 接受minion的托管请求
minion向master投诚后, 还需要master接受才行. 这个过程叫做”授信”.
[[email protected] ~]# salt-key -L
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第1张
其中Unaccepted Keys是未许可的minion. 可使用下面的命令通过认证
[[email protected] ~]# salt-key -a vps4051
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第2张
五、测试
   1. 基本操作命令通用格式
格式: 命令  对象   执行模块         参数
          salt    ‘*’      cmd.run      “ping -c 4 www.baidu.com"
   2. 安装配置好之后, 首先要测试一下连通性, salt会列出每个认证过的minion连通状态(true或false).
[[email protected] ~]# salt '*' cmd.run "uptime"
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第3张
     3. 批量重启服务
[[email protected] ~]# salt '*' cmd.run "/etc/init.d/httpd restart"
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第4张
     4. 批量查看系统时间
[[email protected] ~]# salt '*' cmd.run "uptime"
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第5张
注意, 默认情况下master和minion之间使用以下端口进行通信:
          4505(publish_port):salt的消息发布系统
          4506(ret_port):salt客户端与服务端通信的端口
          cmd.run 为模块,又称之为超级命令. 可以执行Linux中的任何命令.
六、Salt States
     SLS(代表Salt State文件)是Salt State系统的核心. SLS描述了系统的目标状态, 由格式简单的数据构成. 这经常被称作配置管理.
     1. 默认的数据 - YAML
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第6张
这些数据确保名为apache的软件包处于已安装状态, 服务进程apache处于运行状态.
第1行是这段数据的ID, 被称作ID声明. 这个ID是要将执行这些命令的名字.
第2行和第4行表示State声明开始, 使用了pkg和service这两个states. pkg使用系统本地的软件包管理器管理将要安装的软件, service管理系统守护进程.
第3行和第5行是要执行的funcation. 这些function定义了名字为ID的软件包和服务的目标状态. 此例中, 软件包应当处于已安装状态, 服务必须运行.
第6行关键字require. 这呗称为必要语句(Requisite), 它确保了apache服务只有在成功安装软件后才会启动.
Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第7张Linux自动化工具之SaltStack介绍与安装 SaltStack Linux 自动化运维 第8张
  移步手机端
Linux自动化工具之SaltStack介绍与安装

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录