【问题标题】:Why is Chef Provisioning not honoring my availability zone?为什么 Chef Provisioning 不支持我的可用区?
【发布时间】:2017-01-29 23:34:01
【问题描述】:

由于某种原因,Chef Provisioning 不支持我在这个配方中的可用区:

context = ChefDK::ProvisioningData.context

target_port = context.opts.port

require 'chef/provisioning'

machine 'amx01' do
    machine_options :bootstrap_options => {
                        :key_name => 'chef',
                        :flavor_id => 't2.small',
                        :vpc_id => 'vpc-4de3dy17',
                        :subnet_id => 'subnet-47721f1e',
                        :availability_zones => ["us-east-1c"],
                        :image_id => 'ami-06c4cb11', 
                        :security_group_ids => ["sg-c35170c0", "sg-e7r05162"],
                        :associate_public_ip_address => "true"
},
convergence_options: context.convergence_options
converge(true)
action(context.action)
end

这应该发给 us-east-1c,但它总是发给 us-east-1d。关于我缺少什么的任何想法?

【问题讨论】:

    标签: chef-infra provisioning chef-recipe


    【解决方案1】:

    availability_zones 对于机器不存在。您需要设置availability_zone(单数),并传入一个字符串,而不是数组,并且它需要嵌套在placement 下,如here 所述。

    【讨论】:

    • 谢谢!没有意识到这与实际的 aws sdk 语法一致!
    • 我认为它只记录在 Github 上,而不是常规的 Chef 文档。不完全理想。
    猜你喜欢
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多