Ich versuche, eine aws ec2-Instanz mit meinem Puppet-Master bereitzustellen. Ich möchte das Feld user_data
von aws-sdk verwenden und puppet-agent auf dem Knoten installieren. Momentan kann ich nur mit Hilfe einer Puppe eine Instanz erstellen.AWS ec2-Instanz (Bare-Metal-Bereitstellung) mit Puppet 4.5.1 (OpenSource) funktioniert nicht
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'),
}
Mittel-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
In meinem Fall Puppe ist nicht in der Lage, die templatedir
Option Puppe vorgesehen zu finden.
#puppet apply site.pp --test --templatedir templates
Error: Could not parse application options: invalid option: --templatedir
Bitte schlagen Sie vor, was ich hier falsch mache.
Vielen Dank im Voraus.
'--templatedir' ist wortwörtlich kein' puppet apply' Argument (https://docs.puppet.com/puppet/latest/reference/man/apply.html), also was versuchen Sie zu tun? damit? Das Standard-Template-Verzeichnis ist 'templates' im entsprechenden Modul-Verzeichnis. Es sieht so aus, als würden Sie es manuell angeben. –
@MattSchuchard Ich versuche, Beispiel Agent-pe-userdata.erb von AWS zu verwenden, um Puppet-Agent auf dem neu erstellten Knoten einzurichten. Haben Sie die Referenz von hier: (https://puppet.com/blog/using-puppet-to-launch-a-puppet-enterprise-cluster-aws) –
Wenn dies nicht möglich ist, schlagen Sie bitte einen anderen Weg, um dies zu erreichen . Ich möchte eine ec2-Instanz und Bootstrap-Puppet-Agent dazu erstellen. –