Managing Amazon EC2 nodes with Puppet
Puppet Lab’s Dan Bode recently posted this blog regarding installing Amazon EC2 nodes with Puppet along with sample code. Check it out.
Puppet Lab’s Dan Bode recently posted this blog regarding installing Amazon EC2 nodes with Puppet along with sample code. Check it out.
5 Comments
Planet Network Management Highlights 2010 Week 22
[...] Managing Amazon EC2 nodes with Puppet – how to create easily create manageable Amazon EC2 instances [...]
We are using puppet on solaris and linux at neuberger berman and extending our use of it all the time !
thanks
Hi
So far with Amazon EC2, I’ve been using shell scripts for loading profiles (manifests), with arguments which are passed in via the “user-data” field. The profiles are pretty easy to write, being simple bash scripts, and have access to all of the Amazon AWS features via the available command line tools, and a shared library of functions to do common things like mounting ebsvolumes or accessing S3. You can see what I’ve implemented so far, here http://www.practicalclouds.com
At the moment the process is only suited to small deployments and doesn’t allow for the kind of auditing, large scale deploys or flexibility of operating system that puppet supports. Searching for puppet support for EC2 returns many blogs and how-tos, but they don’t seem to delve into many of the EC2 features, such as support for Elastic Load Balancers, Elastic Block Storage, Simple DB, S3 etc.. etc.. Is there a comprehensive module out there, or do we need to continue to use the available command line tools via external command calls? I found the ‘aws’ tool from http://timkay.com/aws/ great for command line access to EC2 – is there a better way for puppet?
regards
Dave
Planet Network Management Highlights 2010 Week 22 | Revolusionline
[...] Managing Amazon EC2 nodes with Puppet – how to create easily create manageable Amazon EC2 instances [...]
Here’s another guide that will help you bootstrap your EC2 nodes with Puppet. Installing a Puppet Master is not a staight forward task and you need to get your puppet master up and running before you can think about using it to configure other clients. The “puppet” profile will load everything that is required to install and configure either a master or a client and loads everything required at boot time (so you get the latest versions). You can create your own AMI or use mine (search for ‘practicalclouds’).
http://www.practicalclouds.com/content/guide/puppet-deployment
The profile installs and configures the following: -
* Puppet Agent or Master, Puppet Dashboard, and Facter
* Apache and Ruby Passenger for performance and scalability.
* MySQL for external resources, the dashboard, and external node classifier.
* MCollective and ActiveMQ for real time orchestration features.
* Puppet Module for downloading modules from the puppet labs module repository.
* Puppet Cloud Provisioner module, Fog, and the AWS Ruby SDK.
* MCollective Plugins for controlling puppet and services, and automatic configuration of puppet environment facts for use in MCollective.
* Inventory and file bucket services for the dashboard.
* Automatic Backups of puppet configs, puppet data, apache configs and MySQL database.
It’s freely available in every AWS Zone and I hope it helps you in getting your platforms up and running.
regards
Dave