一)我们在配置文件/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
- 第一章:saltstack的基本介绍
- 第二章:saltstack的安装部署
- 第一节:在centos7系统上安装saltstack工具
- 第二节:在windows server 2008上安装salt-minion
- 第三章: saltstack的配置管理
- 第一节:salt-master配置
- 第二节:salt-minion配置
- 第三节:了解YAML
- 第四节:salt-master配置文件详解
- 第五节:了解Jinja2
- 第六节:配置普通用户可以运行saltstack的模块
- 第四章:远程执行
- 第一节:远程执行基础介绍
- 第二节:目标定位
- 一、全局及正则表达式匹配
- 二、列表匹配
- 三、Grains
- 四: Pillar
- 五:subnet and ip
- 六:组合匹配
- 七: node group
- 第三节:常用模块
- 一、查看帮助
- 二、Network模块
- 三、Service模块
- 四:State模块
- 五、Cron模块
- 六、File模块
- 七、iptables模块
- 八、pkg包管理
- 第四节:Salt其他命令
- 一、salt-cp(拷贝文件)
- 二、salt-ssh
- 三、salt-key
- 第五节:saltstack返回程序
- 第一节:返回保持到数据库(mysql)
- 第五章:配置管理
- 第一节:简单入门
- 第二节:状态间关系
- 第六章:数据系统
- 第一节:grains
- 第二节:pillar
- 第七章:saltstack配置管理
- 第一节:系统初始化操作
- 第二节:功能模块
- 一、haproxy模块
- 二、keepalived模块
- 三、nginx模块
- 四: pcre模块
- 五: zlib模块
- 六:user模块
- 七:php模块
- 第三节:业务模块
- 第一节:haproxy代理
- 第二节:keepalived业务
- 第八章:自动化管理工具saltstack
- 第一节:文件管理
- 第二节:软件管理
- 第三节:服务管理
- 第四节:sysctl模块管理