使用 Puppet 4.5.1(OpenSource) 的 AWS ec2 实例(裸机)配置不工作

AWS ec2 instance(Bare Metal) Provisioning with Puppet 4.5.1(OpenSource) not working

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

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

请指出我做错了什么。

提前致谢。

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