博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
saltstack安装和配置
阅读量:7238 次
发布时间:2019-06-29

本文共 7842 字,大约阅读时间需要 26 分钟。

[root@web9 salt]# vi filetest.sls//ADDfile_test:     file.managed:       - name: /tmp/lulu.com    - source: salt://test/123/1.txt    - user: root    - group: root    - mode: 600/* file_test : 自定义的名字,可在别的配置中引用  source : 指定文件从何处拷贝*/[root@web9 salt]# mkdir test[root@web9 salt]# mkdir test/123[root@web9 salt]# vi test/123/1.txt//ADDjsdhjsdhksadjhjsad[root@web9 salt]# vi top.sls//ADD......   - filetest[root@web9 salt]# salt 'web10.lulu.com' state.highstate

 

一、安装slatstack准备

//prepared1. 两台机器172.7.15.106 172.7.15.1112.设置hostname以及vi /etc/hosts(106) web9.lulu.com(111) web10.lulu.com3.关闭防火墙setenforce 0iptables -F//106[root@web9 ~]# yum install -y epel-release[root@web9 ~]# yum install -y salt-master salt-minion//111[root@web10 ~]# yum install -y epel-release[root@web10 ~]# yum install -y salt-minion

 

//START SERVICE//106[root@web9 ~]# vi /etc/salt/minion//almost 16 colum change or addmaster: 172.7.15.106[root@web9 ~]# service salt-master start[root@web9 ~]# service salt-minion start//111[root@web10 ~]# vi /etc/salt/minion//almost 16 colum change or addmaster: 172.7.15.106[root@web10 ~]# service salt-minion start

 

二、配置认证

//106[root@web9 ~]# salt-key             //这个命令可查看到是否已签名的客户端 Accepted Keys:Denied Keys:Unaccepted Keys:web10.lulu.comweb9.lulu.comRejected Keys:[root@web9 ~]# salt-key -a web10.lulu.com [root@web9 ~]# salt-key -a web9.lulu.com--此处为方便后面实验的操作{可不做} //111[root@web10 ~]# ls /etc/salt/pki/minionminion_master.pub

 

三、远程执行命令

[root@web9 ~]# salt '*' test.pingweb9.lulu.com        Trueweb10.lulu.com         True/*  Here * represents  signed client.     You can as well specify one of the clients.*/[root@web9 ~]# salt '*' cmd.run 'hostname'web9.lulu.com        web9.lulu.comweb10.lulu.com        web10.lulu.com/*  Here * must be a accepted client.     You can look over the client through any cmd.*/[root@web9 ~]# salt -E 'web(9|10)' cmd.run 'hostname'web9.lulu.com         web9.lulu.comweb10.lulu.com        web10.lulu.com/* 使用正则 --必须加 -E选项 */[root@web9 ~]# salt -L 'web9.lulu.com,web10.lulu.com' cmd,run 'hostname'web9.lulu.com        web9.lulu.comweb10.lulu.com        web10.lulu.com/* 列表--多个机器用逗号分隔*/

 

四、grains

[root@web9 ~]# salt 'web10.lulu.com' grains.ls  //列出所有的grains项目名字[root@web9 ~]# salt 'web10.lulu.com'grains.items //列出所有的grains项目以及值

 

//自定义grains//111[root@web10 ~]# vim /etc/salt/grains//ADD...role: nginxenv: test[root@web10 ~]# service salt-minion restart//106/*确认*/[root@web9 ~]# salt '*' grains.ls   //找看看是否生成了新的grains[root@web9 ~]# salt '*' grains.item  //看看值是否定义的值/*获取并执行*///借助grains属性信息---找到客户端 ---然后执行命令[root@web9 ~]# salt '*' grains.item role env      //获取grains[root@web9 ~]# salt -G role:nginx cmd.run 'hostname'    web10.lulu.com     web10.lulu.com

 

五、pillar

//pillar[root@web9 ~]# salt '*' pillar.item          //查看是否存在pillar的item//自定义pillar[root@web9 ~]# vim /etc/salt/master//find and change......#pillar_roots:#   base:#     - /srv/pillar         //把#去掉[root@web9 ~]# mkdir /srv/pillar[root@web9 ~]# vi /srv/pillar/test.sls//ADDconf: /etc/123.confmyname:lulu.com[root@web9 ~]# vi /srv/pillar/top.sls//ADDbase:    'web10.lulu.com':        - test[root@web9 ~]# service salt-master restart[root@web9 ~]# salt '*' saltutil.refresh_pillar/*当更新完pillar配置文件,通过刷新pillar配置获取新的pillar状态*/web9.lulu.com      Trueweb10.lulu.com      True[root@web9 ~]# salt '*' pillar.itemsweb10.lulu.com    ----------    conf:            /etc/123.conf    myname:            lulu.comweb9.lulu.com    ----------==============//增加新的pillar[root@web9 ~]# cd /srv/pillar[root@web9 pillar]# lstest.sls  top.sls[root@web9 pillar]# vi abc.sls//ADDmydomain:abc.conf[root@web9 pillar]# vi top.sls//ADD......        - test        - abc[root@web9 pillar]# service salt-master restart[root@web9 pillar]# salt '*' saltutil.refresh_pillar[root@web9 pillar]# salt 'web10.lulu.com' pillar.itemsweb10.lulu.com        ----------        conf:                /etc/123.conf        myname:                lulu.com        mydomain:                abc.conf/*获取并执行*/[root@web9 pillar]# salt -I mydomain:abc.conf cmd.run 'hostname'web10.lulu.com        web10.lulu.com

 

六、配置管理安装Apache

 

//106[root@web9 ~]# vi /etc/salt/master//change#file_roots:#   base"#     - /srv/salt             //将#去掉[root@web9 ~]# mkdir /srv/salt[root@web9 ~]# cd /srv/salt[root@web9 salt]# vi /srv/salt/top.sls//ADDbase:    '*':       - apache/* 让所有的客户端上执行apache模块*/[root@web9 salt]# service salt-master restart[root@web9 salt]# vi apache.sls//ADDapache-service:    pkg.installed:      - names:        - httpd        - httpd-devel    service.running:      - name: httpd      - enable: True/*说明:   apache-service : id 的名字,(自定义)      pkg.installed : 包安装函数,此处下方跟着要安装的包的名字   -names : 如果此处只有一个服务,则写成-name: httpd 。不需要换行   service.running : 函数,保证指定的服务启动   enabled : 表示开机自启动*/[root@web9 salt]# salt 'web10.lulu.com' state.highstate //111 [root@web10 ~]# ps aux|grep httpd    //查看是否启动了httpd服务

 

七、配置管理文件

[root@web9 salt]# vi filetest.sls//ADDfile_test:     file.managed:       - name: /tmp/lulu.com    - source: salt://test/123/1.txt    - user: root    - group: root    - mode: 600/* file_test : 自定义的名字,可在别的配置中引用  source : 指定文件从何处拷贝*/[root@web9 salt]# mkdir test[root@web9 salt]# mkdir test/123[root@web9 salt]# vi test/123/1.txt//ADDjsdhjsdhksadjhjsad[root@web9 salt]# vi top.sls//ADD......   - filetest [root@web9 salt]# salt 'web10.lulu.com' state.highstate

 

八、配置管理目录

[root@web9 salt]# vi dirtest.sls//ADDfile_dir:  file.recurse:    - name: /tmp/testdir    - source: salt://test/123    - user: root    - file_mode: 644    - dir_mode: 755    - mkdir: True    - clean: True/*  clean:True -- 加上后,源删除文件或目录,目标也会跟着删除*/[root@web9 salt]# vi top.sls//ADD.........  - dirtest[root@web9 salt]# salt 'web10.lulu.com' state.highstate [root@web9 salt]# touch test/123/lu.txt[root@web9 salt]# salt 'web10.lulu.com' state.highstate //生成lu.txt

 

九、配置管理远程命令

[root@web9 salt]# vi cmdtest.sls//ADDcmd_test:  cmd.run:    - unless: test -f /tmp/linux.txt    - names:      - touch /tmp/111.txt      - mkdir /tmp/123    - user: root[root@web9 salt]# vi top.sls//ADD............    - cmdtest//client[root@web10 ~]# rm -rf /tmp///server[root@web9 salt]# salt 'web10.lulu.com' state.highstate//client[root@web10 ~]# ls  /tmp/111.txt  123//换成onlyif看效果[root@web9 salt]# vi cmdtest.sls//change......    unless:-->onlyif[root@web9 salt]# salt 'web10.lulu.com' state.highstate

 

十、远程执行shell脚本

 

[root@web9 salt]# vi shelltest.sls//ADDshell_test:  cmd.script:    - source: salt://test/1.sh    - user: root[root@web9 salt]# vi /srv/salt/test.1.sh//ADD#!/bin/bashtouch /tmp/111.txtif [ -d /tmp/1233]then  rm -rf /tmp/1233else  mkdir /tmp/1233fi[root@web9 salt]# vi top.sls//ADD............  - shelltest[root@web9 salt]# salt 'web10.lulu.com' state.highstate//client[root@web10 ~]# ls /tmp/1233 111.txt

 

十一、管理任务计划

[root@web9 salt]# vi crontest.sls//ADDcron_test:  cron.present:    - name: /bin/touch /tmp/111.txt    - user: root    - minute: '*'    - hour: 20    - daymonth: '*'    - month: '*'    - dayweek: '*'/* 1. *需要用' '括起来  2. 删除该cron,增加:      cron.absent:        - name: /bin/touch /tmp/111.txt    3.cron.present和cron.absent不可同时存在  PS: 可用file.managed模块管理cron*/[root@web9 salt]# vi top.sls//ADD...............  - crontest//client [root@web10 ~]# crontab -l

 

十二、常用命令

1. cp.get_file --> 拷贝master上的文件到客户端//使用方法--拷贝文件[root@web9 salt]# ls apache.sls[root@web9 salt]# salt 'web10.lulu.com' cp.get_file salt://apache.sls /tmp/lulu.comweb10.lulu.com  /tmp/lulu.com/* 解释:    salt://apache.sls -- > 将当前目录的apache.sls -- > /tmp/lulu.com --> 拷贝到client的 /tmp/lulu.com 里*/2. cp.get_dir --> 拷贝master上的目录到客户端--拷贝目录[root@web9 salt]# salt 'web10.lulu.com' cp.get_dir salt://test /tmp/luluweb10.lulu.com  - /tmp/lulu/test/1.sh  - /tmp/lulu/test/123/1.txt  - /tmp/lulu/test/123/linux.txt3. salt-run manage.up  --> 显示存活的minion(客户端)[root@web9 ~]# salt-run manage.up- web10.lulu.com- web9.lulu.com

 

转载于:https://www.cnblogs.com/frankielf0921/p/5454217.html

你可能感兴趣的文章
Linux下执行jmeter脚本
查看>>
java笔记之分支、循环语句
查看>>
我的Ajax学习笔记
查看>>
Struts2遇到Caused by Action class not found这类问题怎么解决
查看>>
ViewPager实现滑动翻页效果
查看>>
自定义HorizontalScrollView的scrollBar
查看>>
轻量高效的开源JavaScript插件和库
查看>>
CSS3-background-clip+background-origin
查看>>
linux yum 安装mysql
查看>>
种下一棵树:有旋Treap
查看>>
设计模式——(Abstract Factory)抽象工厂“改正为简单工厂”
查看>>
图灵热点之阅读篇——七月图书推荐
查看>>
【转载】acedSSGet()函数用法详解
查看>>
bzoj5407: girls
查看>>
BootStrap selectpicker后台动态绑定数据
查看>>
【转】正则基础之——贪婪与非贪婪模式
查看>>
关于 android.net.conn.CONNECTIVITY_CHANGE 7.0之后取消
查看>>
自动化测试的理解
查看>>
微信小程序事件
查看>>
Unity加载第三方C# DLL时,解析不能删除的问题。
查看>>