Setup

Edit This Page

Picking the Right Solution

Kubernetes can run on various platforms: from your laptop, to VMs on a cloud provider, to a rack of bare metal servers. The effort required to set up a cluster varies from running a single command to crafting your own customized cluster. Use this guide to choose a solution that fits your needs.

If you just want to “kick the tires” on Kubernetes, use the local Docker-based solutions.

When you are ready to scale up to more machines and higher availability, a hosted solution is the easiest to create and maintain.

Turnkey cloud solutions require only a few commands to create and cover a wide range of cloud providers. On-Premises turnkey cloud solutions have the simplicity of the turnkey cloud solution combined with the security of your own private network.

If you already have a way to configure hosting resources, use kubeadm to easily bring up a cluster with a single command per machine.

Custom solutions vary from step-by-step instructions to general advice for setting up a Kubernetes cluster from scratch.

Local-machine Solutions

Community Supported Tools

Ecosystem Tools

Hosted Solutions

Turnkey Cloud Solutions

These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a few commands. These solutions are actively developed and have active community support.

On-Premises turnkey cloud solutions

These solutions allow you to create Kubernetes clusters on your internal, secure, cloud network with only a few commands.

Custom Solutions

Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many base operating systems.

If you can find a guide below that matches your needs, use it.

Universal

If you already have a way to configure hosting resources, use kubeadm to bring up a cluster with a single command per machine.

Cloud

These solutions are combinations of cloud providers and operating systems not covered by the above solutions.

On-Premises VMs

Bare Metal

Integrations

These solutions provide integration with third-party schedulers, resource managers, and/or lower level platforms.

Table of Solutions

Below is a table of all of the solutions listed above.

IaaS Provider Config. Mgmt. OS Networking Docs Support Level
any any multi-support any CNI docs Project (SIG-cluster-lifecycle)
Google Kubernetes Engine GCE docs Commercial
Docker Enterprise custom multi-support multi-support docs Commercial
IBM Cloud Private Ansible multi-support multi-support docs Commercial and Community
Red Hat OpenShift Ansible & CoreOS RHEL & CoreOS multi-support docs Commercial
Stackpoint.io multi-support multi-support docs Commercial
AppsCode.com Saltstack Debian multi-support docs Commercial
Madcore.Ai Jenkins DSL Ubuntu flannel docs Community (@madcore-ai)
Platform9 multi-support multi-support docs Commercial
Kublr custom multi-support multi-support docs Commercial
Kubermatic multi-support multi-support docs Commercial
IBM Cloud Kubernetes Service Ubuntu IBM Cloud Networking + Calico docs Commercial
Giant Swarm CoreOS flannel and/or Calico docs Commercial
GCE Saltstack Debian GCE docs Project
Azure Kubernetes Service Ubuntu Azure docs Commercial
Azure (IaaS) Ubuntu Azure docs Community (Microsoft)
Bare-metal custom Fedora none docs Project
Bare-metal custom Fedora flannel docs Community (@aveshagarwal)
libvirt custom Fedora flannel docs Community (@aveshagarwal)
KVM custom Fedora flannel docs Community (@aveshagarwal)
DCOS Marathon CoreOS/Alpine custom docs Community (Kubernetes-Mesos Authors)
CloudStack Ansible CoreOS flannel docs Community (@sebgoa)
VMware vSphere any multi-support multi-support docs Community
Bare-metal custom CentOS flannel docs Community (@coolsvap)
lxd Juju Ubuntu flannel/canal docs Commercial and Community
AWS Juju Ubuntu flannel/calico/canal docs Commercial and Community
Azure Juju Ubuntu flannel/calico/canal docs Commercial and Community
GCE Juju Ubuntu flannel/calico/canal docs Commercial and Community
Oracle Cloud Juju Ubuntu flannel/calico/canal docs Commercial and Community
Rackspace custom CoreOS flannel/calico/canal docs Commercial
VMware vSphere Juju Ubuntu flannel/calico/canal docs Commercial and Community
Bare Metal Juju Ubuntu flannel/calico/canal docs Commercial and Community
AWS Saltstack Debian AWS docs Community (@justinsb)
AWS kops Debian AWS docs Community (@justinsb)
Bare-metal custom Ubuntu flannel docs Community (@resouer, @WIZARD-CXY)
oVirt docs Community (@simon3z)
any any any any docs Commercial and Community
any RKE multi-support flannel or canal docs Commercial and Community
any Gardener Cluster-Operator multi-support multi-support docs Project/Community and Commercial
Alibaba Cloud Container Service For Kubernetes ROS CentOS flannel/Terway docs Commercial
Agile Stacks Terraform CoreOS multi-support docs Commercial
IBM Cloud Kubernetes Service Ubuntu calico docs Commercial
Digital Rebar kubeadm any metal docs Community (@digitalrebar)
VMware Cloud PKS Photon OS Canal docs Commercial
VMware Enterprise PKS BOSH Ubuntu VMware NSX-T/flannel docs Commercial
Mirantis Cloud Platform Salt Ubuntu multi-support docs Commercial
IAAS Provider- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) multi-support docs Commercial
Note: The above table is ordered by version test/used in nodes, followed by support level.

Definition of columns

Feedback