Chef cookbook for Apache Aurora
Only tested on Ubuntu 14.04, with the Folsom Labs deb packages for Aurora. Should be easily adaptable to other Ubuntu and Debian releases.
There are a lot of attributes. Please read through attributes/default.rb for the details.
Make sure you set the cluster name, zookeeper endpoints, mesos master url, and any other important attributes.
Include aurora
in your node's run_list
:
{
"run_list": [
"recipe[aurora::scheduler]"
]
}
Include aurora::slave
in your mesos slave node's run_list
. You will most likely want to set some attributes (as in, mesos slave attributes) for aurora to use.
For example, this might make sense for a cluster on AWS:
default['mesos']['slave']['flags']['attributes']['host'] = node['hostname']
default['mesos']['slave']['flags']['attributes']['rack'] = node['ec2']['placement_availability_zone']
default['mesos']['slave']['flags']['attributes']['instance_id'] = node['ec2']['instance_id']
default['mesos']['slave']['flags']['attributes']['instance_type'] = node['ec2']['instance_type']
If you want to enable thermos service announcements to zookeeper, you can set some options on the scheduler nodes:
default['aurora']['thermos'] = {
announcer_enable: true,
zk_announce_endpoints: 'zk.example.com:2181,zk2.example.com:2181',
zk_announce_path: '/services'
}
Author:: Benjamin Staffin (ben@folsomlabs.com)