ddsdjn 发表于 2018-8-1 11:09:34

saltstack:apache安装以及主文件修改

  远程操作:
  salt ‘*’cmd.run"uptime"
  一 实例操作:
  1 说明:yum安装apache 并且在master端同步httpd.conf文件,而且当这个文件修改时重启apache
  2 结构目录
  # tree
  .
  ├── apache
  │   ├── apache.sls
  │   └── httpd.conf
  ├── top.sls
  top.sls:是salt的入口 执行的第一个文件
  apache.sls:具体的操作写在这里
  httpd.conf:需要同步到客户端的apache主配置文件
# cat top.sls  
base:                     ##base语法告诉Salt这是基础配置文件
  '*':                  ## 被执行的对象 *表示所有的客户端 可以在这单独写某一个客户端的ID 如slave-142
  - apache.apache       ## 第一个apache是在/srv/salt/ 的目录 第二个其实是apache.sls 但是这里可以直接写成apache
  'slave-142':            ## 单指一台期机器
  - ntp.sls
# cat apache/apache.sls  
apache:                                    ##ID标识 可以随意取
  pkg:                                       ##安装包管理
  - name: httpd                   
  - installed               ##执行安装操作
  service:                                 ##服务管理
  - name: httpd
  - running                              ##保证上述的httpd服务启动

  ->  - enable: True                           ##服务开启启动
  - watch:
  - file: /etc/httpd/conf/httpd.conf    ##客户端的配置文件
/etc/httpd/conf/httpd.conf:            ##客户端的配置文件  file.managed:                        ##文件管理
  - source: salt://apache/httpd.conf##服务器端本地的文件和路径salt//这个配置在master中配置 默认是在/srv/salt/ 需要开启注视
  - user: root
  - group: root
  - mode: 644
  - backup: minion                  ##执行操作前备份
  执行操作:
  由于之前我过操作 httpd已经成功安装 这次测试的是修改了httpd.conf文件
# salt '*' state.highstate  
68:
  
----------
  ID: apache
  Function: pkg.installed
  Name: httpd
  Result: True
  Comment: Package httpd is already installed
  Changes:
  
----------
  ID: /etc/httpd/conf/httpd.conf
  Function: file.managed
  Result: True
  Comment: File /etc/httpd/conf/httpd.conf updated
  Changes:
  ----------
  diff:
  ---
  +++
  @@ -1007,5 +1007,5 @@
  #    ErrorLog logs/dummy-host.example.com-error_log
  #    CustomLog logs/dummy-host.example.com-access_log common
  #</VirtualHost>
  -####hihi test###    修改的时候去掉了这行
  -###test    #   修改的时候去掉了这行
  +####20140414test###新添加行
  +###test 2014   #新添加行
  
----------
  ID: apache
  Function: service.running
  Name: httpd
  Result: True

  Comment: Service>  Changes:
  ----------
  httpd:
  True
  
Summary
  
------------
  
Succeeded: 3
  
Failed:    0
  
------------
  
Total:   3
  当你在一个sls中写有多个操作但是要只操作一个   salt '*' state.highstate exclude="[{'id':'httpd'}]"-t 60
  当不需要操作所有的客户端 可以 salt 'slave-143'   state.highstate 只操作一台机器
  当只想操作一个sls文件salt 'slave-143' state.slshttpd##对143这个客户端执行httpd.sls文件操作
页: [1]
查看完整版本: saltstack:apache安装以及主文件修改