1:redis-server-1 客户端: filebeat 部署配置 官方yum包部署: https://www.elastic.co/downloads 安装java salt "*es*" state.sls...saltenv='prod' jdk.jdk8 elasticsearch (2个master3个data) salt "*es*" state.sls saltenv='prod' elk.elasticsearch.install...:9200/_cat/nodes' # 查看状态;* es-1 已经推选master 安装redis 收集日志 yum install reids filebeat采集日志 salt "*web*" state.sls...saltenv='prod' elk.filebeat.install logstash 将数据从broker里面抽到es集群 salt "*es*" state.sls saltenv='prod...1&style=7&x={x}&y={y}&z={z}' #中文地图 kibana安装 kibana 默认没有登录设置,可yum装httpd-tools设置Apache密码认证 salt "*es*" state.sls
状态模块让minion应用配置 # 让所有的minion都安装apache(由于salt默认的环境就是base,所以可以直接在后面指定调用的apache.sls文件,不要后缀sls) salt'*' state.sls...apache # 让所有的minion都安装vsftpd(saltenv指定环境) salt'*' state.sls vsftpd saltenv=dev # 让其中一台minion(Saltstack02...)安装apache salt'Saltstack02*' state.sls apache 在master上面执行后,在被执行的minion上查看: ps aux | grep yum image.png...建议将同一类的放置在一个目录下,以“.”的方式进行调用 image.png salt'Saltstack02*'state.sls web.apache image.png 6、使用salt的高级状态使不同主机应用不同的配置
pkg.version "redis" #查看yum包版本,install,remove salt "*" service.status redis #查看服务 ;stop,start,restart 执行命令 state.sls...状态管理 # salt "*" state.highstate #salt初始化环境 ;复合状态的使用:base目录下寻找top.sls入口文件 # salt "*" state.sls saltenv...roster -i "*" test.ping salt-ssh --roster-file=/srv/salt/salt-master_tools/keys/roster -i "*" state.sls...init.salt-minion.install salt-ssh --roster-file=/srv/salt/salt-master_tools/keys/roster -i "*" state.sls
发生改变时,重启 mariadb 服务 33 - file: mariadb-config 执行该状态SLS 1 [root@salt100 lamp]# salt 'salt100' state.sls...lamp.mariadb test=True # 然后查看返回信息 2 [root@salt100 lamp]# salt 'salt100' state.sls lamp.mariadb # 执行...lamp.apache-php test=True 2 [root@salt100 lamp]# salt 'salt03' state.sls lamp.apache-php # 执行,如果上一步无异常的话...lamp.apache-php2 test=True # 然后查看返回信息 2 [root@salt100 lamp]# salt 'salt01' state.sls lamp.apache-php2...# 查看执行结果 3 [root@salt100 lamp]# salt -L 'salt01,salt02' state.sls lamp.apache-php2 # 批量执行
requiretty EOF 初始化客户端 salt-ssh -i '*' state.sls base.init.env_init #初始化,并按照salt-minion salt '*' state.sls
执行SLS 1 [root@salt100 lamp2]# salt 'salt01' state.sls lamp2.init test=True # 测试是否可行 【查看返回信息】 2 [root...@salt100 lamp2]# salt 'salt01' state.sls lamp2.init # 查看执行结果 3 [root@salt100 lamp2]# salt 'salt0*'...salt01: 5 True 6 salt02: 7 True 8 salt03: 9 True 10 [root@salt100 lamp2]# salt 'salt0*' state.sls...执行SLS 1 [root@salt100 lamp2]# salt 'salt100' state.sls lamp2.mariadb test=True # 测试是否可行 【查看返回信息】 2 [...root@salt100 lamp2]# [root@salt100 lamp2]# salt 'salt100' state.sls lamp2.mariadb # 查看执行结果
执行 SLS 1 # 测试一下,看是否可执行,有没有什么异常 2 [root@salt100 lamp2]# salt 'salt01' state.sls lamp2.init test=True...根据 init.sls 信息,选取覆盖 if 条件中所有情况的 minion 并测试一下,看是否正常 4 [root@salt100 lamp2]# salt -L 'salt01,salt100' state.sls...-lntup | grep 'httpd' 查看 7 # 可见 httpd 已经重加载,并且端口从 80 改为了 8088 8 [root@salt100 lamp2]# salt 'salt01' state.sls...lamp2.init 9 [root@salt100 lamp2]# salt '*' state.sls lamp2.init # 批量执行,并查看返回情况 4.7....部分截图 [root@salt100 lamp2]# salt 'salt01' state.sls lamp2.init test=True # 对应的截图 ?
]# cat top.sls base: '*': - init.env_init prod: '*': - init.test 执行定义好的state文件 salt ‘*’ state.sls...init.nettools test=True env=base salt ‘*’ state.sls init.test test=True env=prod # 测试执行 salt ‘*’ state.sls
host_sls(self, tgt, arg): '''主机进行sls''' obj = {'client': 'local', 'tgt': tgt, 'fun': 'state.sls...self, tgt, arg): '''主机异步sls ''' obj = {'client': 'local_async', 'tgt': tgt, 'fun': 'state.sls...self, tgt, arg): '''分组异步sls ''' obj = {'client': 'local_async', 'tgt': tgt, 'fun': 'state.sls..., **kwargs): '''分组进行sls and pillar''' obj = {'client': 'local', 'tgt': tgt, 'fun': 'state.sls...*kwargs): '''针对主机执行sls and pillar ''' obj = {"client": "local", "tgt": tgt, "fun": "state.sls
salt01: 4 True 5 salt03: 6 True 7 salt02: 8 True 9 [root@salt100 ~]# salt 'salt0*' state.sls...httpd 10 # 说明: 11 # 1、master 配置管理基本目录为 /srv/salt 12 # 2、apache.sls 的路径为:/srv/salt/web/apache.sls 13 # 3、state.sls...执行结果信息讲解 1 # 执行返回结果是无序的 2 [root@salt100 ~]# salt 'salt0*' state.sls web.apache 3 salt02: # salt02
运行一次 salt 'Minion' state.sls ansible 我们编写state其实大量的工作就是把想要完成的需求,通过state YAML形式定义 出来。...4.2 理解ext_nodes流程和案例 238页 平常使用SaltStack的state的时候 top.sls入口文件 top.sls作用是指定Minion与state.sls文件的对应关系 目的top.sls...能做到动态 四种形式: 1)通过从MongoDB里面获取Minion与state.sls文件的对应关系: 2)通过ext_nodes的形式: 3)通过reclass_adapter的形式: 4)通过从
uptime' return: - node76: ' 13:18:46 up 161 days, 2:23, 1 user, load average: 0.15, 0.09, 0.10' 使用state.sls...下面功能类似于“salt '*' state.sls ifconfig” curl -k https://192.168.104.76:8000 -H "Accept: application/x-yaml..." -H "X-Auth-Token: ded897184a942ca75683276c29d787ea71c207a9" -d client='local' -d tgt='*' -d fun='state.sls
conf.d/ops/bin/randchars.py - mode: 755 三、执行 [root@tvm-saltmaster base]# salt 'tvm-*' state.sls... ops.bin test=True [root@tvm-saltmaster base]# salt 'tvm-*' state.sls ops.bin 增加到top.sls中 [root@tvm-saltmaster
'*' state.highstate test=True 这个是测试两个sls功能 2,salt-call state.highstate -l debug 这个是调试 3,salt '*' state.sls...init.init 分别下发各个sls功能 4,具体结果如下: [root@saltmaster salt]# salt '*' state.sls zabbix.init saltmaster:
要使用配置管理需要修改master 的配置文件: 修改配置文件: image.png image.png image.png 执行salt 命令安装apache: salt '*' state.sls
/vim.sls: vim: pkg.installed Now install vim on the minions by calling the SLS directly: salt '*' state.sls...This formula can be referenced via the following command: salt '*' state.sls nginx 注解 Reminder!...Just as one could call the test.ping or disk.usage execution modules, state.sls is simply another execution
0.000 ms 11 [root@salt100 web]# 12 [root@salt100 web]# 13 [root@salt100 web]# salt-ssh 'salt01' state.sls...1.220 s 50 [root@salt100 web]# 51 [root@salt100 web]# 52 [root@salt100 web]# salt-ssh 'salt01' state.sls
httpd/conf.d - source: salt://web/files/apache-conf.d 运行结果: [root@hadoop1 base]# salt 'hadoop2' state.sls...2345 10 50 运行结果 由于首次运行编译返回日志过长,为了美观的结果,运行了两次,所以软连接脚本显示失败(文件已存在) [root@hadoop1 base]# salt 'hadoop2' state.sls...EXISTS wordpress" - require: - cmd: extract_wordpress 运行结果 [root@hadoop1 base]# salt 'hadoop2' state.sls...遇到的问题整理 无法运行state.sls 报错the function “state.highstate” is running as PID xxxx kill掉slave的进程 php admin
base_install.sh |sh salt: salt '*' cmd.run "curl -s http://zabbix.monitor.com/agent/base.sh |sh" salt "*" state.sls
minion1': - containers.applications.node-demo 部署 完整状态Complete state 能在需要的minions地方执行 salt minion1 state.sls
领取专属 10元无门槛券
手把手带您无忧上云