【问题标题】:AWS ec2 instance(Bare Metal) Provisioning with Puppet 4.5.1(OpenSource) not working使用 Puppet 4.5.1(开源)的 AWS ec2 实例(裸机)配置不起作用
【发布时间】:2017-05-15 14:53:52
【问题描述】:

我正在尝试使用我的 puppet master 配置 aws ec2 实例。我想利用 aws-sdk 提供的user_data 字段并在节点上安装 puppet-agent。现在我只能在 puppet 的帮助下创建一个实例。

ec2_instance { 'p-node':
  ensure        => running,
  region        => 'ap-southeast-1',
  image_id      => 'ami-25c00c46',
  key_name      => 'POC-KeyPair',
  instance_type => 't2.micro',
  security_groups => 'launch-wizard-1',
  subnet        => 'dashboard-pub-subnet-1',
  user_data     => template('agent-pe-userdata.erb'),
}

agent-pe-userdata.erb

#!/bin/bash

PE_MASTER='<%= @pe_master_hostname %>'

PE_CERTNAME=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)

curl -sk https://$PE_MASTER:8140/packages/current/install.bash | /bin/bash -s agent:certname=$PE_CERTNAME

就我而言,puppet 无法找到 puppet 提供的 templatedir 选项。

#puppet apply site.pp --test --templatedir templates
Error: Could not parse application options: invalid option: --templatedir

请提出我在这里做错了什么。

提前致谢。

【问题讨论】:

  • --templatedir 实际上不是puppet apply 参数(docs.puppet.com/puppet/latest/reference/man/apply.html),那么您想用它做什么呢?默认模板目录是相应模块目录中的templates,看起来就像您尝试手动指定的那样。
  • @MattSchuchard 我正在尝试使用 aws 提供的示例 agent-pe-userdata.erb 在新创建的节点上设置 puppet-agent。从这里得到参考:(puppet.com/blog/…)
  • 如果这不可能,请提出任何其他方法来实现这一点。我想创建一个 ec2 实例并将 puppet-agent 引导到它。
  • 那篇博客文章是针对过时版本的 puppet。您应该在其 github 页面上使用该模块的最新文档:github.com/puppetlabs/puppetlabs-aws

标签: amazon-web-services amazon-ec2 puppet erb aws-sdk


【解决方案1】:

我将“agent-pe-userdata.erb”文件放置在错误的路径中。它应该在 puppet/templates 文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2017-10-03
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2020-12-04
    • 2017-04-16
    相关资源
    最近更新 更多