基于AWS EC2标签的Puppet noop?

问题描述 投票:0回答:1

我们使用 puppet-enc-ec2 ENC 模块通过 AWS EC2 标签指定 puppet 节点的角色和环境。

有没有办法通过 EC2 标签强制执行 noop?另一个模块什么的?我还没有找到一些不错的代码?

运行开源 Puppet v7

蒂亚!

我尝试在实例上设置 noop:true 标签。我没想到这会起作用,但事实并非如此。我的搜索还没有带来任何有希望的结果。

amazon-web-services amazon-ec2 tags puppet no-op
1个回答
0
投票

有没有办法通过 EC2 标签强制执行 noop?

可能。

首先,puppet-enc-ec2记录了它产生的效果

所有 EC2 标签均可作为受信任的顶级变量提供给 Puppet,并带有

ec2_tag_
前缀。

这意味着您可以访问 Puppet 清单中的标签值。

为了利用它,你建议

另一个模块或其他什么?

事实上,是的。或许。您似乎正在寻找 trlinkin-noop。它提供了一个函数

noop()
,当调用该函数时,会使当前范围内的所有资源成为 noop(免责声明:我个人没有使用过这个模块或其函数)。对于您想要的特定行为,我想您会在站点清单的顶部范围中放置适当的代码,以对目标节点的 EC2 标记执行您想要的任何测试,并且当条件合适时,调用
noop()

但是,存在一个潜在的问题:该模块有点旧,Forge 上最新版本的元数据仅通过 Puppet 5 报告兼容性。但是,在其 GitHub 存储库中存在一个未解决的问题和相关的拉取请求:通过 Puppet 8 扩展兼容性。因此,虽然您可能无法从 Forge 中下载一个版本,但不需要做太多工作就能获得一个可以使用的版本。

© www.soinside.com 2019 - 2024. All rights reserved.