【发布时间】:2022-02-04 20:02:40
【问题描述】:
我有一些盐状态,它们使用 minion id 应用于某些特定的 minion。 现在我正在转向云提供商,并且需要根据 salt-cloud 可以设置的标签应用这些状态。
IE。我有一个在 AWS 中运行的实例(不是由 salt-stack 提供的),我可以使用 salt-cloud 和 saltify 模块对其进行加盐,现在我可以识别我的奴才了:
root@instance1:~# salt instance1 test.ping
instance1:
True
root@instance:~# salt-cloud -f get_tags my-ec2-eu-west-private-ips resource_id=instance1_awsid
my-ips:
----------
ec2:
|_
----------
key:
TagName1
resourceId:
instance1_awsid
resourceType:
instance
value:
Value1
|_
----------
key:
TagName1
resourceId:
instance1_awsid
resourceType:
instance
value:
Value2
我希望根据这些值应用我的状态:
IE:而不是经典:
salt instance1 state.highstate
或
salt instance1 state.sls configure.service
我想做这样的事情:
salt TagName1=Value1 state.highstate
或
salt TagName1=Value1 state.sls configure.service
【问题讨论】:
-
salt-cloud 仍然是 EC2 实例配置的黑客。
-
@mootmoot 有没有比使用 salt-cloud 更好的方法将 ec2 实例配置为 minion ?还是 hack 是盐的最佳选择?
-
对于持续集成的意思,也许你应该尝试 terraform。在 saltstack 中,提供 salt-master 和随后的 salt-minion 并不简单。一世。 salt-cloud 可以创建实例并通过它创建的名称来识别它。它不能对其应用标签。 ii.您只能使用 salt.states.boto_ec2.instance_present 来添加/更改标签。 OTH,使用 terraform 更干净,因为您可以标记实例并在配置期间传递 saltstack 引导字符串。
-
盐云在 2020 年仍是黑客攻击
标签: amazon-ec2 salt-stack salt-cloud