[chef] Re: Re: Re: Re: Using Chef to Configue Autoscaled EC2 Instances


Chronological Thread 
  • From: John Martinez < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Using Chef to Configue Autoscaled EC2 Instances
  • Date: Thu, 10 Nov 2011 10:13:21 -0800

Yup, that's what I do.

-john

On Nov 10, 2011, at 10:11 AM, Edward Sargisson wrote:

> You don't need such complexity. You can just include the role the node
> wants in the user-date you register for auto-scaling.
> I believe Ubuntu Oneiric has accepted a patch which makes the
> user-data thing work with Chef better. There was an email announcement
> about that a few months ago.
> 
> Cheers,
> Edward
> 
> On Thu, Nov 10, 2011 at 10:08 AM, Aaron Abramson
> < >
>  wrote:
>> I've thought about this, but haven't put much work into implementing it 
>> yet.  So this is more of a concept than anything.
>
>> Set up a script listening on a server.  It could be a simple php script, 
>> IE http://someurl/script.php
>
>> Set up the user-data with a bash script that hits the listener.  (wget -O 
>> /dev/null http://someurl/script.php?role=myrole)
>
>> The script receives the request, and it knows 2 things, the public 
>> hostname of the server making the request, and the "role" it is 
>> requesting.  The script makes certain assumptions (username, ssh-key, etc) 
>> and then executes a system command, calling "knife bootstrap *server* -r 
>> "role[myrole]"
>
>> So, if you auto-scale official cannonical ubuntu AMI's, simply have the 
>> user-data "ping" your knife listener, and knife then bootstraps the server.
>
>> Perhaps such a bootstrap request feature could be built into chef-server?
>
>
>> Aaron
>
>> On Nov 10, 2011, at 11:55 AM, John Martinez wrote:
>
>>> 
>>> Hello,
>>> 
>>> I agree with you, using knife to provision EC2 instances is not the best 
>>> way to do this in autoscaled environments. As a temporary solution, I've 
>>> done exactly what you suggest. I pass along a lot of things into 
>>> user-data, and specifically, a node's role is one of those. I read 
>>> user-data and tell Chef on the node what its role is (amongst other 
>>> things). It's a kludge. I'm going to be looking into integrating Chef 
>>> with CloudFormation, which plays nice(r) with ASGs.
>>> 
>>> http://aws.amazon.com/cloudformation/aws-cloudformation-articles-and-tutorials/
>>>  (second link)
>>> https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithOpscodeChef.pdf
>>> 
>>> -john
>>> 
>>> On Nov 10, 2011, at 9:44 AM, 
>>> < >
>>>  
>>> < >
>>>  wrote:
>>> 
>>>> Hi all, I'd like to get some feedback on how people are doing this now. 
>>>> It
>>>> seems that since .10, the preferred way of starting Amazon EC2 instances 
>>>> is via
>>>> the 'knife ec2 server create' command, while the 'knife ec2 instance 
>>>> data' and
>>>> chef preinstalled AMIs are deprecated. That's all fine and good for 
>>>> manually
>>>> launching instances, but what about autoscaling? When a node comes up for
>>>> autoscalling, I want it to update and configure itself according to its 
>>>> role(s)
>>>> and environment. With the instance data method of doing thing deprecated,
>>>> what's the alternative (aside from having a custom baked AMI that I need 
>>>> to
>>>> manually update as is the normal way of doing this without chef)? If 
>>>> there is
>>>> no alternative, and I have to use the deprecated method which would mean 
>>>> using
>>>> 'knife ec2 instance data' to wire into the autoscaling group as 
>>>> UserData. When
>>>> using this method how would I specify the environment that the server 
>>>> should be
>>>> run as too? I don't see anyway to do this using the instance data. 
>>>> Running some
>>>> command outside the server after the server it is started to set the
>>>> environment is not an option as we won't know when a new server has been 
>>>> spun
>>>> up (controlled by Amazon).
>>>> 
>>>> I'm interested in what other people have found to be best practice for 
>>>> this
>>>> scenario and any advice, tips or tricks that have been learned while 
>>>> trying to
>>>> work with chef and autoscaled EC2 instances.
>>>> 
>>>> Thanks for your thoughts!
>>> 
>
>




Archive powered by MHonArc 2.6.16.

§