【发布时间】:2013-02-27 22:36:53
【问题描述】:
我正在和 Chef 一起玩来启动 EC2 实例。一切运行良好,但 Chef 似乎无法标记实例。我错过了什么吗?
否则,实现此目的的首选 Ruby 库是什么?我可以在不需要额外宝石的情况下做到这一点吗?
谢谢
【问题讨论】:
标签: ruby amazon-ec2 chef-infra
我正在和 Chef 一起玩来启动 EC2 实例。一切运行良好,但 Chef 似乎无法标记实例。我错过了什么吗?
否则,实现此目的的首选 Ruby 库是什么?我可以在不需要额外宝石的情况下做到这一点吗?
谢谢
【问题讨论】:
标签: ruby amazon-ec2 chef-infra
knife-ec2 Gem 的 0.5.12 版支持在创建时使用 --tags 选项标记 EC2 实例。
knife ec2 server create [... your options...] --tags Tag=Value
【讨论】:
知道这是旧的,但正在浏览并发现它。另一种选择是使用AWS community cookbook - 假设你有关键的信用 - 如果你想以编程方式做事作为配方的一部分。
aws = data_bag_item('mydatabag', 'creds')
aws_resource_tag node['ec2']['instance_id'] do
aws_access_key aws['access_key']
aws_secret_access_key aws['secret_key']
tags({
"foo" => "bar"
})
action :update
end
【讨论】:
通常厨师用于在实例上安装东西。我不确定你是如何用 chef 开始一个节点的,但也许你可以分享这个,我会扩展我的答案?
否则,fog 是一个很棒的库来做这些事情。我只是浏览了一下源代码,它似乎也支持标记。
获取雾:gem install fog。
【讨论】:
user-script 将其传递给实例。