如何管理带有盐堆支柱的奴才角色? - python

我试图了解如何将Salt与诸如Chef之类的角色一起使用,但是我的理解还有些空洞,因为目前无法阅读大量文档。

原则上的问题是,我想像Chef一样尝试用Salt管理角色,但是我不知道如何适当地设置支柱值。我想要做的是通过脚本或手工将角色分配给一个无聊的盒子,然后让机器在上面安装适当的文件。

我不了解的是,我如何设置可以告诉Salt-master特定角色的盒子上要安装什么。我尝试设置一个

salt.pillar('site' => 'my_site1') 

在Vagrantfile中,然后在盐状态top.sls文件中使用

{{ pillar.get('site') == 'my_site1'
  -<do some stuff>

但这是行不通的。正确的方法是什么?

python大神给出的解决方案

因此,匹配支柱中的ID变得更加容易。首先,将minion_id设置为可识别的名称,例如test-mysite1-db(并且首先是唯一的。因此,以用户名首字母结尾)为例。
top.sls中的/srv/pillar

base:
 '<regex_matching_id1>':
   - webserver.mysite1
 '<regex_matching_id2>':
   - webserver.mysite2

然后放入webserver.mysite1

role : mysiteid1

例如。

然后在/srv/state/top.sls中,您可以与jinja或仅与

base:
 'role:mysiteid1':
   - match: pillar
   - state
   - state2

因此,角色是从id派生的。为我工作。