kubernetes/contrib/ansible
2015-07-24 09:58:30 -04:00
..
group_vars Ansible: Run from locally built binaries 2015-07-24 09:48:36 -04:00
roles Install openssl when using make-ca-certs.sh 2015-07-24 09:56:42 -04:00
vagrant Ansible: vagrant: generic set_provider() function 2015-07-24 09:58:30 -04:00
.gitignore example ansible setup repo 2015-04-03 12:01:36 -04:00
cluster.yml Declare etcd roles in meta rather then top level playbook 2015-06-24 17:07:12 -04:00
inventory Basic Generic File Cleanups 2015-06-24 13:45:46 -04:00
README.md Ansible: Vagrant: kubernetes openstack deployer 2015-07-24 09:58:25 -04:00
setup.sh Create, distribute, and use certificates for TLS and identity 2015-06-24 17:07:11 -04:00

Kubernetes Ansible

This playbook helps you to set up a Kubernetes cluster on machines where you can't or don't want to use the salt scripts and cluster up/down tools. They can be real hardware, VMs, things in a public cloud, etc.

Before starting

  • Record the IP address/hostname of which machine you want to be your master (only support a single master)
  • Record the IP address/hostname of the machine you want to be your etcd server (often same as master, only one)
  • Record the IP addresses/hostname of the machines you want to be your nodes. (the master can also be a node)
  • Make sure your ansible running machine has ansible 1.9 and python-netaddr installed.

Configure the inventory file

Stick the system information gathered above into the 'inventory' file.

Configure your cluster

You will want to look though all of the options in group_vars/all.yml and set the variables to reflect your needs. The options should be described there in full detail.

Set up the actual kubernetes cluster

Now run the setup:

$ ./setup.sh

In generel this will work on very recent Fedora, rawhide or F21. Future work to support RHEL7, CentOS, and possible other distros should be forthcoming.

You can just set up certain parts instead of doing it all

Only etcd:

$ ./setup.sh --tags=etcd

Only the kubernetes master:

$ ./setup.sh --tags=masters

Only the kubernetes nodes:

$ ./setup.sh --tags=nodes

You may overwrite the inventory file by doing

INVENTORY=myinventory ./setup.sh

Only flannel:

$ ./setup.sh --tags=flannel

Analytics