Edit This Page
Installing Kubernetes On-premise/Cloud Providers with Kubespray
Overview
This quickstart helps to install a Kubernetes cluster hosted
on GCE, Azure, OpenStack, AWS or Baremetal with
Kubespray
tool.
Kubespray is a composition of Ansible playbooks,
inventory
generation CLI tools and domain knowledge for generic OS/Kubernetes
clusters configuration management tasks. It provides:
To choose a tool which fits your use case the best, you may want to read this
comparison
to kubeadm and kops.
Creating a cluster
(1/4) Ensure the underlay requirements are met
Checklist
- You must have cloud instances or baremetal nodes running for your future Kubernetes cluster.
A way to achieve that is to use the
kubespray-cli tool.
- Or provision baremetal hosts with a tool-of-your-choice or launch cloud instances,
then create an inventory file for Ansible with this tool.
(2/4) Compose the deployment
Checklist
- Customize your deployment by usual Ansible meanings, which is
generating inventory
and overriding default data variables.
Or just stick with default values (Kubespray will choose Calico networking plugin for you
then). This includes steps like deciding on the:
- Plan custom deployment steps, if any, or use the default composition layer in the
cluster definition file.
Taking the best from Ansible world, Kubespray allows users to execute arbitrary steps via the
ansible-playbook
with given inventory, playbooks, data overrides and tags, limits, batches
of nodes to deploy and so on.
- For large deployments (100+ nodes), you may want to
tweak things
for best results.
(3/4) Run the deployment
Checklist
(4/4) (Optional) verify inter-pods connectivity and DNS resolve with Netchecker
Checklist
- Ensure the netchecker-agent’s 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.
Explore contributed add-ons
See the list of contributed playbooks
to explore other deployment options.
What’s next
Kubespray has quite a few marks on the radar.
Cleanup
To delete your scratch cluster, you can apply the
reset role
with the manual ansible-playbook
command.
Note, that it is highly unrecommended to delete production clusters with the reset playbook!
Feedback
Create an Issue
Edit this Page