David
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/puppet-users/-/AkY-XzhqaWwJ.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
Hi there,I am trying to setup a "cluster" on Amazon EC2, using auto-scaling. I currently have it working so that when the instances are started, they generate a CSR, which is automatically signed by the server if it's valid by a cron job I setup to run every minute.
However, where does one go from there? I suppose now the nodes need to be somehow registered on the puppet master so they can receive the correct configuration, but I'm unsure how to do this. I've read several articles which involve essentially creating a script which modifies the manifest, but is there a better way than this?
I'm fairly new to Puppet, so my other question would be how does one classify instances into "roles" or similar — for instance, if I am bringing up a webserver, can I just add it to a "webserver" group and it will be configured as such?
Any pointers would be very much appreciated :)—Oliver
> I am trying to setup a "cluster" on Amazon EC2, using auto-scaling. I currently have it working so that when the instances are started, they generate a CSR, which is automatically signed by the server if it's valid by a cron job I setup to run every minute.
>
> However, where does one go from there? I suppose now the nodes need to be somehow registered on the puppet master so they can receive the correct configuration, but I'm unsure how to do this. I've read several articles which involve essentially creating a script which modifies the manifest, but is there a better way than this?
I use instance userdata to configure puppet (via ubuntu cloudinit) and set an explicit certname, in the form:
<instance_id>-<puppetclass>-<environment>
The server uses a a node classifier that fabricates the node spec from that.
Another option would to inject EC2 facts via facter so the client can report, say, what the security groups are, or other metadata, and have the puppet rules decide on based on that from a common EC2 instance puppet class. I came up with the certname approach before figuring out extending facter with ec2 facts, and it is working well enough that I'm not compelled to change at this point. If I were starting from scratch I'm not sure which would make more sense.
-john
I use instance userdata to configure puppet (via ubuntu cloudinit) and set an explicit certname, in the form:
<instance_id>-<puppetclass>-<environment>
The server uses a a node classifier that fabricates the node spec from that.