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

一、安装slatstack准备

//prepared

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

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

二、配置认证

//

[root@web9 ~]# salt-key             //这个命令可查看到是否已签名的客户端
Accepted Keys:
Denied Keys:
Unaccepted Keys:
web10.lulu.com
web9.lulu.com
Rejected Keys:
[root@web9 ~]# salt-key -a web10.lulu.com

[root@web9 ~]# salt-key -a web9.lulu.com
--此处为方便后面实验的操作{可不做} //
[root@web10 ~]# ls /etc/salt/pki/minion
minion_master.pub

三、远程执行命令

[root@web9 ~]# salt '*' test.ping
web9.lulu.com
True web10.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.com web10.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.com web10.lulu.com
web10.lulu.com /* 使用正则 --必须加 -E选项 */ [root@web9 ~]# salt -L 'web9.lulu.com,web10.lulu.com' cmd,run 'hostname'
web9.lulu.com
web9.lulu.com
web10.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

//
[root@web10 ~]# vim /etc/salt/grains
//ADD
...
role: nginx
env: test
[root@web10 ~]# service salt-minion restart // /*确认*/
[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
//ADD
conf: /etc/.conf
myname:lulu.com [root@web9 ~]# vi /srv/pillar/top.sls
//ADD
base:
'web10.lulu.com':
- test
[root@web9 ~]# service salt-master restart
[root@web9 ~]# salt '*' saltutil.refresh_pillar
/*当更新完pillar配置文件,通过刷新pillar配置获取新的pillar状态*/
web9.lulu.com
True
web10.lulu.com
True
[root@web9 ~]# salt '*' pillar.items
web10.lulu.com
----------
conf:
/etc/.conf
myname:
lulu.com
web9.lulu.com
---------- ==============
//增加新的pillar
[root@web9 ~]# cd /srv/pillar
[root@web9 pillar]# ls
test.sls top.sls
[root@web9 pillar]# vi abc.sls
//ADD
mydomain: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.items
web10.lulu.com
----------
conf:
/etc/.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

//

[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
//ADD
base:
'*':
- apache
/* 让所有的客户端上执行apache模块*/
[root@web9 salt]# service salt-master restart
[root@web9 salt]# vi apache.sls
//ADD
apache-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
//ADD
file_test:
file.managed:
- name: /tmp/lulu.com
    - source: salt://test/123/1.txt
    - user: root
    - group: root
    - mode:
/* file_test : 自定义的名字,可在别的配置中引用   source : 指定文件从何处拷贝 */
[root@web9 salt]# mkdir test
[root@web9 salt]# mkdir test/
[root@web9 salt]# vi test//.txt
//ADD
jsdhjsdhk
sadjhjsad
[root@web9 salt]# vi top.sls
//ADD
...
...
   - filetest
[root@web9 salt]# salt 'web10.lulu.com' state.highstate

八、配置管理目录

[root@web9 salt]# vi dirtest.sls
//ADD
file_dir:
  file.recurse:
    - name: /tmp/testdir
    - source: salt://test/123
    - user: root
    - file_mode:
    - dir_mode:
    - 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//lu.txt
[root@web9 salt]# salt 'web10.lulu.com' state.highstate
//生成lu.txt

九、配置管理远程命令

[root@web9 salt]# vi cmdtest.sls
//ADD
cmd_test:
  cmd.run:
    - unless: test -f /tmp/linux.txt
    - names:
      - touch /tmp/.txt
      - mkdir /tmp/
    - 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/
.txt //换成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
//ADD
shell_test:
  cmd.script:
    - source: salt://test/1.sh
    - user: root
[root@web9 salt]# vi /srv/salt/test..sh
//ADD
#!/bin/bash
touch /tmp/.txt
if [ -d /tmp/]
then
  rm -rf /tmp/
else
  mkdir /tmp/
fi [root@web9 salt]# vi top.sls
//ADD
...
...
...
...
  - shelltest
[root@web9 salt]# salt 'web10.lulu.com' state.highstate //client
[root@web10 ~]# ls /tmp/
.txt

十一、管理任务计划

[root@web9 salt]# vi crontest.sls
//ADD
cron_test:
  cron.present:
    - name: /bin/touch /tmp/.txt
    - user: root
    - minute: '*'
    - hour:
    - 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

十二、常用命令

. 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.com
web10.lulu.com
  /tmp/lulu.com /* 解释:
    salt://apache.sls -- > 将当前目录的apache.sls -- > /tmp/lulu.com --> 拷贝到client的 /tmp/lulu.com 里
*/ . cp.get_dir --> 拷贝master上的目录到客户端 --拷贝目录 [root@web9 salt]# salt 'web10.lulu.com' cp.get_dir salt://test /tmp/lulu
web10.lulu.com
  - /tmp/lulu/test/.sh
  - /tmp/lulu/test//.txt
  - /tmp/lulu/test//linux.txt . salt-run manage.up --> 显示存活的minion(客户端) [root@web9 ~]# salt-run manage.up
- web10.lulu.com
- web9.lulu.com

saltstack安装和配置的更多相关文章

  1. SaltStack 安装及配置认证

    一.SaltStack 安装 SaltStack 是基于 Python 开发的,也是基于 C/S 架构,通过服务端 ( master ) 控制多台客户端 ( minion ) 实现批量操作这里我们使用 ...

  2. SaltStack安装及配置

    1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...

  3. saltstack安装与配置

    Saltstack是基于Python开发的一套C/S架构,具备Puppet.Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高:使用号称世界上最快的消息队列ZeroMQ使得 ...

  4. SaltStack 安装配置 centos7

    参考文档 http://docs.saltstack.cn/contents.html 快速安装 初始配置 控制端master配置 # vim /etc/salt/master interface: ...

  5. saltstack安装配置及常用命令

    1.salt安装及配置详解 https://www.cnblogs.com/lgeng/p/6567424.html centos7配置: https://www.jianshu.com/p/4c91 ...

  6. saltstack安装配置(yum)

    主机规划: (主)master:192.168.25.130 (从)minion:192.168.25.131     192.168.25.132 1.yum安装: 服务端:安装master yum ...

  7. SaltStack安装配置

    一.环境准备:操作系统CentOS Linux release 7.3.1611master ip:192.168.1.180minion ip:192.168.1.183设置server(maste ...

  8. saltstack安装配置(syndic)

    syndic是saltstack用来做集群部署的,一般结构如图: syndic是一个特殊的minion,syndic类继承于minion类,syndic可以看作一个代理,只做数据传递. CentOS上 ...

  9. SaltStack安装篇

    一.基础介绍1.简介 salt 是一个基础平台管理工具 salt是一个配置管理系统,能够维护预定于状态的远程节点 salt是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 2.salt的核 ...

随机推荐

  1. 容器化RDS|计算存储分离 or 本地存储?

    随着交流机会的增多(集中在金融行业,规模都在各自领域数一数二),发现大家对 Docker + Kubernetes 的接受程度超乎想象, 并极有兴趣将这套架构应用到 RDS 领域.数据库服务的需求可以 ...

  2. 洛谷 P2860 [USACO06JAN]冗余路径Redundant Paths 解题报告

    P2860 [USACO06JAN]冗余路径Redundant Paths 题目描述 为了从F(1≤F≤5000)个草场中的一个走到另一个,贝茜和她的同伴们有时不得不路过一些她们讨厌的可怕的树.奶牛们 ...

  3. POI 2018.10.27

    [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进 ...

  4. HRBUST 1819

    石子合并问题--圆形版 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 61(27 users) Total Accepted: 26( ...

  5. Spark Streaming 的一些问题

    Spark Streaming 的一些问题,做选型前关注这些问题可以有效的降低使用风险. checkpoint checkpoint 是个很好的恢复机制.但是方案比较粗暴,直接通过序列化的机制写入到文 ...

  6. c# 定时执行任务

    在Global.asax文件中加上 void Application_Start(object sender, EventArgs e) { // Code that runs on applicat ...

  7. Android UI开发第二十四篇——Action Bar

    Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式.在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为acti ...

  8. mac命令行配置网络

    mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...

  9. ZooKeeper动态配置(十四)

    概述 在3.5.0发行之前,ZK的全体成员和所有其它的配置参数是静态加载的在启动的时候并且在运行的时候不可变.操作员诉诸于"滚动重启" - 一个手动密集和改变配置文件容易出错的方法 ...

  10. 插入排序Insertion sort 2

    原理类似桶排序,这里总是需要10个桶,多次使用 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 例如 待排序数组[62,14,59,88,16]简单点五个数字 分 ...