This quickstart helps to install a Kubernetes cluster hosted on GCE, Azure, OpenStack, AWS, or Baremetal with Kubespray.
Kubespray is a composition of Ansible playbooks, inventory, provisioning tools, and domain knowledge for generic OS/Kubernetes clusters configuration management tasks. Kubespray provides:
To choose a tool which best fits your use case, read this comparison to kubeadm and kops.
Provision servers with the following requirements:
Ansible v2.4
(or newer)Jinja 2.9
(or newer)python-netaddr
installed on the machine that running Ansible commandsKubespray provides the following utilities to help provision your environment:
After you provision your servers, create an inventory file for Ansible. You can do this manually or via a dynamic inventory script. For more information, see “Building your own inventory”.
Kubespray provides the ability to customize many aspects of the deployment:
Kubespray customizations can be made to a variable file. If you are just getting started with Kubespray, consider using the Kubespray defaults to deploy your cluster and explore Kubernetes.
Next, deploy your cluster:
Cluster deployment using ansible-playbook.
ansible-playbook -i your/inventory/hosts.ini cluster.yml -b -v \
--private-key=~/.ssh/private_key
Large deployments (100+ nodes) may require specific adjustments for best results.
Kubespray provides a way to verify inter-pod connectivity and DNS resolve with Netchecker. Netchecker ensures the netchecker-agents pods can resolve DNS requests and ping each over within the default namespace. Those pods mimic similar behavior of the rest of the workloads and serve as cluster health indicators.
Kubespray provides additional playbooks to manage your cluster: scale and upgrade.
You can add worker nodes from your cluster by running the scale playbook. For more information, see “Adding nodes”. You can remove worker nodes from your cluster by running the remove-node playbook. For more information, see “Remove nodes”.
You can upgrade your cluster by running the upgrade-cluster playbook. For more information, see “Upgrades”.
Check out planned work on Kubespray’s roadmap.
You can reset your nodes and wipe out all components installed with Kubespray via the reset playbook.
Caution: When running the reset playbook, be sure not to accidentally target your production cluster!