https://github.com/ClusterHQ/ansible-role-flocker
Need ansible (mac OSX)
- brew install ansible #(or pip install ansible)
-
Place agent.yml, inventory, playbook.yml in a directory.
-
Turn off host key checking (for yes/no answering)
cat ~/.ansible.cfg
[defaults]
host_key_checking = False
- Configure agent.yml appropriate for the nodes you will be installing on (example for AWS)
cat agent.yml
control-service: {hostname: ec2-your-control-node-vm-ip.amazonaws.com, port: 4524}
dataset: {access_key_id: YOUR_KEY, backend: aws, region: YOUR_REGION, secret_access_key: YOUR_SECRET_KEY,
zone: YOUR_ZONE}
version: 1
- Configure the inventory correctly with IPs
cat inventory
[flocker_control_service]
1.2.3.4
[flocker_docker_plugin]
4.5.6.7
4.5.6.8
[flocker_agents]
4.5.6.7
4.5.6.8
[nodes:children]
flocker_control_service
flocker_agents
flocker_docker_plugin
- Configure the ansible playbook appropriately with correct OS, options etc. (example for CentOS Nodes)
cat playbook.yml
---
- hosts: nodes
user: centos
roles:
- role: marvinpinto.docker
sudo: true
- role: ClusterHQ.flocker
(optional params below)
flocker_cluster_name: my_flocker_cluster
flocker_api_cert_name: plugin
flocker_install_docker_plugin: true
flocker_local_tempdir: "{{ playbook_dir }}/certs"
- Run the ansible script. (make sure ansible galaxy installed with flocker playbook)
ansible-playbook -i inventory playbook.yml \
--private-key="/Users/<YOUR_USERNAME>/<YOUR_AWS_KEY>.pem" \
--extra-vars="flocker_agent_yml_path=agent.yml"