自动运维工具-saltstack安装使用(实例演示! ! !)

  

saltstack概述

  
 <代码>在生产环境中,服务器往往不止一两台,一般都是成千上万台服务器。这对运维人员来说管理难度太大了,而saltstack是一个新的基础平台管理工具,可以支持管理上万台服务器规模,数秒钟即可完成数据传递,是现在用的比较多的自动化运维工具之一。
  
  盐是一个基础平台管理工具.SaltStack采用C/S模式,服务器端就是盐的主人,客户端就是奴才,奴才与主之间通过ZeroMQ消息队列通信部分监听4505年和4506年端口,4505为大师和奴才认证通信端口,4506为大师用来发送命令或者接收奴才的命令执行返回信息。 
  

saltstack介绍

  

1,基于python语言开发的

  

2,轻量级管理工具,批量执行命令

  

3,常用模板

           名称   含义               包裹   包,有增删更新         文件   用于管理文件,包括同步文件,设置文件权限和所属用户组,删除文件等操作         cmd   在宠物上执行命令或者脚本         使用   管理系统账户操作         服务   管理系统服务操作         cron   管理crontab任务            

4, saltstack数据系统

  
      <李>   

    谷物(静态数据)

      李   <李>支柱(动态数据)   
  

saltstack三大功能

  
      <李>   

    远程执行

      李   <李>   

    配置管理

      李   <李>云管理李   
  

自动运维工具-saltstack安装使用(实例演示! ! !)

  

saltstack工作原理

  
 <代码> SaltStack客户端(宠物)在启动时,会自动生成一套密钥,包含私钥和公之钥。后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列ZeroMQ在客户端与服务端之间建立消息发布连接。 
  
      <李>   

    奴才是SaltStack需要管理的客户端安装组件,会主动去连接主端,并从主端得到资源状态信息,同步资源管理信息。

      李   <李>   

    主作为控制中心运行在主机服务器上,负责盐命令运行和资源状态的管理,掌握上执行某条指令通过队列下发到各个奴才去执行,并返回结果。

      李   <李> ZeroMQ是一款开源的消息队列软件,用于在奴才端与主端建立系统通信桥梁。   
  

saltstack优缺点

  
      <李>优点李   
  
 <代码>速度快,基于消息队列+线程,跑完多台设备,都是毫秒级别的;非常灵活,源码是python,方便理解和自定义模块(因为python相对于其他的perl、ruby等还是很好理解的)
  命令简单,功能强大。 
  
      <李>缺点李   
  
 <代码>部署奴才端较为不便。 
  

Saltstack重要组件

  
      <李>谷物李   
  
 <代码>颗粒是在奴才(客户端)启动时收集到的一些信息,比如操作系统类型,网卡ip等静态信息。
  谷物的信息并不是动态的,并不会时时变更,它只是在奴才启动时收集到的。 
  
      <李> 支柱   
  
 <代码>支柱和谷物不一样,是在掌握上定义的,并且是针对奴才定义的一些信息。像一些比较重要的数据(密码)可以存在柱子里,还可以定义变量等。 
  
      <李> 状态   
  
 <代码>状态是saltstack的最核心的功能,通过预先指定好的sls文件对被控主机进行管理(包括:包,网络配置,系统服务,系统用户等) 
  

Saltstack常用命令

  
      <李>拷贝文件到客户端李   
  
 <代码类=" language-bash ">盐的client2 cp.get_file盐:# apache。sls/tmp/cp.txt  
  
      <李>拷贝目录到客户端李   
  
 <代码类=" language-bash ">盐的client2 cp.get_dir盐:#测试/tmp  
  
      <李>显示存活的客户端李   
  
 <代码类=" language-bash ">抢购食盐manage.up  
  
      <李>命令下执行服务端的脚本李   
  
 <代码类=" language-bash "> #编辑脚本
  vim/电脑/盐/测试/shell.sh
  
  # !/bin/sh
  回声“盐服务器运行shell脚本> #分别为三台机器添加epel源,本地有官方源
  yum安装- y epel-release #安装epel源
  
  #服务器安装
  百胜是安装salt-master 

自动运维工具-saltstack安装使用(实例演示! ! !)