我想使用salt状态文件创建一个组和用户,但在需要执行salt状态文件(我想作为参数传入)之前,我不知道组、gid、user、uid、sshkey。
我已经读过创建变量的Pillar。如何在执行前创建支柱?
/srv/salt/group.sls
:
{{ name }}:
group.present:
- gid: {{ gid }}
- system: True
命令行:
salt 'SaltStack-01' state.sls group name=awesome gid=123456
Tags:
如果您真的想像这样传递命令上的数据,也可以这样做:
然后在命令行上,您可以这样传入数据:
使用支柱创建可以引用到状态文件中的“词典”。我不确定我是否正确理解你,但这里有一个你可以做的例子:
mkdir /srv/pillar/
创建
/srv/pillar/groups.sls
并将类似的内容粘贴到其中:这些是要创建的组的名称和gid。
创建
/srv/pillar/top.sls
以便您可以将此支柱应用于您的仆从。这与盐顶文件非常相似,因此您可以将其应用于所有的仆从('*'
),也可以仅应用于一个仆从('SaltStack-01'
):为了测试这一点,您可以运行
salt '*' pillar.items
,您应该在输出中的某个地方找到groups
支柱。现在,您的
/srv/salt/group.sls
文件应该如下所示:这是一个for循环:
for
每group
和gid
在支柱groups
中,执行其余操作。因此,基本上,可以将其视为状态文件正在运行两次:然后:
这是从this guide合并而来的。
如果您不想使用Pillar
你可以这样做:
然后:
更多详细信息:doc
相关问题 更多 >
编程相关推荐