1、master配置
master文件修改之后,需要重新启动master
服务systemctl restart salt-master
:
file_roots:
base:
- /srv/salt/base # 设置默认环境base
dev:
- /srv/salt/dev
test:
- /srv/salt/test
prod:
- /srv/salt/prod
2、base目录下配置apache服务
-
在base目录下新建web文件夹,在web文件下新建文件:apache.sls
-
整个文件路径为
srv/salt/base/web/apache.sls
-
配置如下:
# 注意使用`yaml`语法
apache-install:
pkg.installed:
- name: httpd
apache-service:
service.running:
- name: httpd
- enable: True
启动apache服务
salt '192.168.21.144' state.sls web.apache
默认环境是base;如果想指定某个环境,saltenv=prod
salt '192.168.21.144' state.sls web.apache saltenv=prod
解释
- salt:命令
- 192.168.21.144:目标
- state:远程执行的模块
- sls:模块的方法
- web:目录名称
- apache:文件名称
如果没有web
目录,直接启动:
salt '192.168.21.144' state.sls apache
4、查看apache服务是否安装成功
利用命令netstat -ntlp
查看服务,80端口是否开启。
高级状态 highstate
使用场景:
- 对不同的
minion
执行不同的任务,相当于是进行任务的分发。 - 在生产状态中,不要用*将全部状态跑完。
- top.file:在master文件中查找
top.sls
; - base文件下新建
top.sls
,必须新建在base环境下:
base: # base环境下在某个机器执行某条命令
"192.168.21.143":
- web.apache
"192.168.21.144":
- web.apache
base: # base环境下的所有*机器执行某条命令
"*":
- web.apache
允许minion1执行高级状态
salt "minion1" state.highstate test=True # test=True 表示会检查具体状态,但不会执行操作
网友评论