🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
一)我们在配置文件/etc/salt/master,配置了file_roots,设置了sys文件保存的位置,例如/srv/salt,为了方便管理,如果会进入到这个目录,按照不同的功能,创建目录。例如 [admin@master salt]$ pwd /srv/salt [admin@master salt]$ cd web/ 2)那么怎么指定哪些机器指定哪些sls呢? 配置/etc/salt/master,找到 #state_top: top.sls (把#号去掉启用) 那么top.sls应该放到base环境下 # root of the base environment as defined in "File Server settings" below. state_top: top.sls 案例: ![](https://box.kancloud.cn/1ccf6a9b0e345d6c50f27341f9377e0a_357x142.png) 说明: 可以给不同的minion,安装执行不同的salt状态 指定高级状态---会把top.sls当作一个入口文件 [admin@master /srv/salt ]$ sudo salt '*' state.highstate test="ture" (加上test=“ture” 测试一下,看看改变了什么,如果没哟问题,然后在去执行”) 说明: 1)在生产环境,尽量不要使用"*",尽量用目标匹配 2)不要不测试就直接运行,一定要使用test="ture" 二) 1)案例1-----安装apache [admin@master apache]$ sudo vim apache.sls apache-install: pkg.installed: - names: - httpd - httpd-devel apache-service: service.running: - name: httpd - enable: true ![](https://box.kancloud.cn/45b5292ce8493b942db4462eb4f1f4cc_419x154.png) 然后执行: [admin@master srv]$ sudo salt '*' state.sls web.apache ---------- ID: apache-install Function: pkg.installed Name: httpd Result: True Comment: The following packages were installed/updated: httpd Started: 15:28:47.719330 Duration: 93765.38 ms Changes: ---------- httpd: ---------- new: 2.4.6-67.el7.centos.6 old: httpd-tools: ---------- new: 2.4.6-67.el7.centos.6 old: mailcap: ---------- new: 2.1.41-2.el7 old: 那么minion是如何执行呢? 当master运行状态的时候,把把需要运行的sls发送给各minion端,如下: [admin@node2 salt]$ pwd /var/cache/salt [admin@node2 salt]$ tree minion/ minion/ ├── accumulator ├── extmods ├── files │   └── base │   └── web │   └── apache.sls ├── highstate.cache.p ├── proc └── sls.p 6 directories, 3 files