7007 发表于 2018-8-1 09:24:28

自动化运维神器之saltstack (二)文件服务器

## 使用pillar之前要在master中配置pillar的工作目录,将下面三行的注释打开  
# vi /etc/salt/master
  
pillar_roots:
  
base:
  
    - /srv/pillar
  
## 重启master服务
  
# /etc/init.d/salt-master restart
  
Stopping salt-master daemon:                              
  
Starting salt-master daemon:                              
  
## 创建所需目录
  
# mkdir/srv/pillar/
  
## 该目录用来测试使用
  
# mkdir/srv/pillar/user
  
## 首先在/srv/pillar目录中要有一个入口文件top.sls
  
# vi top.sls
  
base:
  
'uadoop2':
  
    - data         ## 为uadoop2定义了一个属性数据,引用了跟top.sls同目录下的data.sls
  

  
'uadoop3':
  
    - webserver    ## 为uadoop3定义了一个属性数据,引用了跟top.sls同目录下的web.sls
  

  
'*':
  
    - user         ## 为所有节点定义了一个属性数据,引用了/srv/pillar/user/init.sls
  
                   ## 这里指定的是一个目录,salt会自动在top.sls文件中的引用目录中寻找状态文件
  
                   ## 因此会找到位于user目录中的init.sls文件
  

  
## 编写在top.sls文件中引用的状态文件
  
# vi data.sls
  
data: some data
  
# vi webserver.sls
  
webserver: test_dir
  
# vi user/init.sls
  
users:
  
kora: 1000
  
kadefor: 1100
  
foway: 1200
  

  
## 接着将master上定义的属性同步到对应的minion上去
  
# salt '*' pillar.items
  
uadoop3:
  
    ----------
  
    master:
  
      ----------
  
      auth_mode:
  
            1
  
      auto_accept:
  
            False
  
    .............省略N行..............
  
      worker_threads:
  
            5
  
    webserver:
  
      test_dir
  
    users:
  
      ----------
  
      foway:
  
            1200
  
      kadefor:
  
            1100
  
      kora:
  
            1000
  
uadoop2:
  
    ----------
  
    data:
  
      some data
  
    master:
  
      ----------
  
      auth_mode:
  
            1
  
    .............省略N行..............
  
      worker_threads:
  
            5
  
    users:
  
      ----------
  
      foway:
  
            1200
  
      kadefor:
  
            1100
  
      kora:
  
            1000
  

  
## 在master上远程获取刚刚定义的属性
  
# salt 'uadoop2' pillar.item data
  
uadoop2:
  
    ----------
  
    data:
  
      some data
  
# salt 'uadoop3' pillar.item webserver
  
uadoop3:
  
    ----------
  
    webserver:
  
      test_dir
  
# salt '*' pillar.item users
  
uadoop2:
  
    ----------
  
    users:
  
      ----------
  
      foway:
  
            1200
  
      kadefor:
  
            1100
  
      kora:
  
            1000
  
uadoop3:
  
    ----------
  
    users:
  
      ----------
  
      foway:
  
            1200
  
      kadefor:
  
            1100
  
      kora:
  
            1000
  
## 可以看到刚刚为不同的minion定义的属性已经同步到了各个minion上,从这个测试可以看出,使用pillar
  
## 我们可以为不同的minion或者不同的minion组定义不同的属性,极其灵活。
页: [1]
查看完整版本: 自动化运维神器之saltstack (二)文件服务器