【问题标题】:How do you mass deploy using policyfiles in Chef?您如何在 Chef 中使用策略文件进行大规模部署?
【发布时间】:2016-11-18 21:07:23
【问题描述】:

在我们当前的模型中,我们使用 knife-vsphere 插件和一个包装 perl 脚本,该脚本本质上是 for 循环 knife 结合 csv 文件来大规模部署 VM 列表。我想知道策略文件是否可以实现这样的工作流程?

【问题讨论】:

  • 您实际上在哪里看到了问题?您尝试了多少概念来将您的工作流程移植到 Policyfiles?
  • 移植工作流不是问题,因为新的工作流将用于一个全新的环境。唯一的问题是我不确定如何大量提供。由于这是一个新环境,需要构建大量虚拟机,我们通常使用我上面提到的 perl 脚本来处理这些。我只是想知道这是否通过厨师供应或其他工具以某种方式处理。
  • 不知道为什么使用 Policyfiles 的引导应该与不使用有很大不同。
  • 我想要了解的基本上是关于零刀的说法:knife-zero.github.io/tips/with_policyfile --policy-name 开关应用了零刀策略。我想知道是否有办法用knife-vsphere、ec2...等来做到这一点。

标签: chef-infra knife chef-provisioning


【解决方案1】:

Policyfiles 通常假设您使用的是 Chef Server,工作流程中对使用 chef-solo 的支持很少。您可以使用chef export -a 功能生成策略存档,然后通过 SFTP 传输它们或将它们托管在某处的内部 Web 服务器上。总体上“可行但没有记录,因此您只能靠自己”。

【讨论】:

  • 我实际上并没有尝试使用刀单独或零进行部署。我之所以引用它,是因为它是我能找到的唯一一个似乎适用于策略文件的刀命令。我实际上想部署到 aws 和 vsphere。
  • 如果您使用的是 chef 客户端,您将使用普通的刀引导命令或包装它的刀云插件之一。
  • 那会是什么样子?例如,knife ec2 会在哪里引用策略文件而不是角色?
  • 您通常会使用--policy-name--policy-group,就像knife bootstrap 一样(它们使用相同的代码)。
  • 但似乎不适用于刀 ec2:刀 ec2 服务器创建 --policy-name 'motd_home' --policy-group f5520dfe79 -I ami-9aaa1cf2 -f t2.small -S chef - i chef.pem --ssh-user ubuntu --subnet subnet-8ecf97b2 致命:找不到子命令:'ec2 server create --policy-name motd_home --policy-group f5520dfe79 -I ami-9aaa1cf2 -f t2.small - S chef -i chef.pem --ssh-user ubuntu --subnet subnet-8ecf97b2' 可用的ec2子命令:(详情请看knife SUB-COMMAND --help)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 2012-09-11
  • 1970-01-01
  • 2015-01-28
相关资源
最近更新 更多