SaltStack 部署案例 02

 远程执行  salt ‘*‘ state.sls apache

‘*‘:代表所有主机

state.sls :是一个模块

apache : 状态 ,表示需要部署的内容,后缀.sls

  

YAML:三板斧

1、 缩进   (2个空格,不能使用Tab)

2、 冒号 key: value (注意key后面需要有空格)

3、 短横线 – list1   - list2  可以写多个

缩进和冒号表示层级关系:

冒号表示key: value   表示层级关系
短横线 – list      列表,后面都有空格
/etc/salt/master配置文件也是YAML语法
表示协议的肯定没有空格
ps -aux|grep salt

Master配置 测试安装

案例一、

# vim /etc/salt/master

base 基础环境必须有

file_roots  配置项

- /srv/salt/ 列表,可以写多个路径


因为里面定义了.sls存放的路径,需要我们创建

[[email protected] ~]# mkdir /srv/salt -p   #创建目录,用于存放sls
[[email protected] salt]# cat apache.sls
apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel

apache-service:
  service.running:
    - name: httpd
    - enable: True
    - reload: True

  

修改完配置文件需要重启

systemctl restart salt-master


参数介绍:
apache-install:  定义的ID
  pkg.installed:  pkg是一个模块是一个状态后面是模块的方法
    - names:  方法的一个参数
      - httpd
      - httpd-devel安装包名称
apache-servic:
  service.running:   模块  方法 running运行
    - name: httpd   运行服务的名称
- enable: True   开机自动启动

  

执行状态

[[email protected] salt]# ls
apache.sls
[[email protected] salt]# pwd
/srv/salt
[[email protected] salt]# salt ‘*‘ status.sls apache

Master:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 00:55:59.517437
    Duration: 32821.597 ms
     Changes:
              ----------
              httpd:
                  ----------
                  new:
                      2.4.6-45.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-45.el7.centos
                  old:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: The following packages were installed/updated: httpd-devel
     Started: 00:56:32.347203
    Duration: 35405.626 ms
     Changes:
              ----------
              apr-devel:
                  ----------
                  new:
                      1.4.8-3.el7
                  old:
              apr-util-devel:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              cyrus-sasl:
                  ----------
                  new:
                      2.1.26-20.el7_2
                  old:
              cyrus-sasl-devel:
                  ----------
                  new:
                      2.1.26-20.el7_2
                  old:
              cyrus-sasl-lib:
                  ----------
                  new:
                      2.1.26-20.el7_2
                  old:
                      2.1.26-17.el7
              expat:
                  ----------
                  new:
                      2.1.0-10.el7_3
                  old:
                      2.1.0-8.el7
              expat-devel:
                  ----------
                  new:
                      2.1.0-10.el7_3
                  old:
              httpd-devel:
                  ----------
                  new:
                      2.4.6-45.el7.centos
                  old:
              libdb:
                  ----------
                  new:
                      5.3.21-19.el7
                  old:
                      5.3.21-17.el7_0.1
              libdb-devel:
                  ----------
                  new:
                      5.3.21-19.el7
                  old:
              libdb-utils:
                  ----------
                  new:
                      5.3.21-19.el7
                  old:
                      5.3.21-17.el7_0.1
              openldap:
                  ----------
                  new:
                      2.4.40-13.el7
                  old:
                      2.4.39-6.el7
              openldap-devel:
                  ----------
                  new:
                      2.4.40-13.el7
                  old:
----------
          ID: apache-servic
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 00:57:07.787998
    Duration: 2090.702 ms
     Changes:
              ----------
              httpd:
                  True

Summary
------------
Succeeded: 3 (changed=3)
Failed:    0
------------
Total states run:     3

  

运行地点:

cat /var/cache/salt/minion/files/base/web/apache.sls

案例2

高级配置top调用apache.sls




[[email protected] web]# cat  /srv/salt/top.sls
base:
  ‘Minion1‘:    -->表示minion主机名称
    - web.apache
  ‘Minion2‘:
    - web.apache

  


执行命令:

salt ‘*‘ state.highstate

highstate: 是state模块中的方法

[[email protected] salt]# salt ‘*‘ state.highstate
www.wawa8888.com:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: Package httpd is already installed
     Started: 10:58:04.124771
    Duration: 837.654 ms
     Changes:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd-devel
      Result: True
     Comment: Package httpd-devel is already installed
     Started: 10:58:04.962555
    Duration: 0.365 ms
     Changes:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd is already enabled, and is running
     Started: 10:58:04.963307
    Duration: 71.43 ms
     Changes:
              ----------

  返回的结果是执行的结果

				
时间: 2024-10-07 05:55:12

SaltStack 部署案例 02的相关文章

SymmetricDS 异构数据库同步软件部署案例

SymmetricDS是一个开源的同步软件,该软件是基于java环境编写的,在运行的时候需要安装JDK.SymmetricDS可以同步文件和数据库,本文的重点是数据库方面的同步. SymmetricDS支持多种数据库的同步,支持的数据库如下: Oracle, MySQL, MariaDB, PostgreSQL, MS SQL Server (including Azure), IBM DB2, H2, HSQLDB, Derby, Firebird, Interbase, Informix,

深信服NGAF 虚拟网线模式部署案例

NGAF  虚拟网线模式部署案例 1.1NGAF  虚拟网线部署介绍 虚拟网线部署与透明部署类似,但是应用场景有所不同.虚拟网线主要应用于多网桥的情况下.当客户需要利用多网桥来部署 NGAF 设备,建议使用虚拟网线,而不用透明部署.主要是由于多网桥下容易出现 MAC 表错乱问题,虚拟网线设置后,不需要查找 MAC 表,数据从一个口进来,直接从虚拟网线设置的另外一个口转发. 客户环境与需求:某客户网络环境如下图所示,出口为艾泰路由器,内网两个三层交 换机,H3C-A划分出5个网段VLAN10到50

salt-stack部署

saltstack部署 环境准备 [[email protected] elasticsearch]# cat /etc/redhat-release CentOS release 6.6 (Final)[[email protected] elasticsearch]# uname -r2.6.32-504.el6.x86_64 配置表: 环境配置: master: [[email protected] ~]# tail -2 /etc/hosts 192.168.30.151 master.

saltstack部署returner [三]

saltstack部署returner感悟:大家有没有遇到过当salt的minion太多时候,每次查看执行结果都要看很久,而且屏幕都占满了.也不方便查看是否执行成功.这个时候saltsack的returner功能上场了.我们可以把执行的命令结果存入数据库,通过数据库查看就很方便了.不过在安装测试中遇到很多问题.这里要感谢成都运维群的运维@安,他帮我查到为什么不能写入数据库的原因,在这里感谢他.saltstack执行结果写入到mysql数据库配置  1.建数据库及表  #假设我们的数据库服务器为1

CloudStack-OpenvSwitch+高级网络部署案例

5月份的时候做的,一直懒的写文档.今天终于鼓起勇气写完了. 内容较多,只给出目录.由于文件超过限制. 请至下载中心下载:CloudStack-OpenvSwitch+高级网络部署案例.pdf 文中如有不妥的或错误,欢迎指出. 前言    需求    规划及部署     一.现状      1.1 服务器信息      1.2 网络信息      1.3 网络拓扑     二.方案      2.1 需求分析      2.2 方案细节      2.3 网络拓扑      2.4 软件环境  

saltstack部署nginx进阶

上一篇其实对通过saltstack部署nginx做了演示,但是可能与我目前的环境还是有点出入,然后sls的结构也不太清晰,所以就又做了改变和优化,叫做进阶可能有点噱头了,不过还是记录如下: nginx安装目标: 1)安装必要依赖 2)准备pcre安装包 2)源码安装pcre 3)准备nginx安装包 4)源码安装nginx nginx配置: 1)拷贝nginx.conf配置文件 2)拷贝启停脚本 3)添加系统服务并设置开机启动 4)拷贝日志切割脚本 5)添加定时任务 salt master上的目

Cesium 本地部署案例

众所周知,cesium的服务器是搭建在国外的,所以我们国内的用户访问的时候贼慢.有时想查个api或者看个案例半天都进不去,今天我来说一下傻瓜式搭建本地的cesium环境,用于大家没事查资料用!步骤:1.进入cesium官网找到需要的版本,进行下载:2.这个是下载之后的目录结构,我来大致说一下.Cesium的api文档位于Build/Documentation目录中.Cesium所有必要的依赖和cesium.js位于Build/Cesium,平时我们开发所需要的包就是从这个目录下将其copy出去,

SaltStack部署

一.基础介绍 1.简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建. 通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.

CentOS 6.5下SaltStack部署记录

1. 安装第三方yum源 wget -c http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm 2. 服务端安装  yum install salt-master -y 3. 客户端安装  yum install salt-minion -y 4. master设置 salt-master默认配置文件/etc/salt/maste