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 ProviderConfig. Mgmt.OSNetworkingDocsSupport Level
Agile StacksTerraformCoreOSmulti-supportdocsCommercial
Alibaba Cloud Container Service For KubernetesROSCentOSflannel/TerwaydocsCommercial
anyanymulti-supportany CNIdocsProject (SIG-cluster-lifecycle)
anyanyanyanydocsCommunity (@erictune)
anyanyanyanydocsCommercial and Community
anyRKEmulti-supportflannel or canaldocsCommercial and Community
anyGardener Cluster-Operatormulti-supportmulti-supportdocsProject/Community and Commercial
AppsCode.comSaltstackDebianmulti-supportdocsCommercial
AWSCoreOSCoreOSflanneldocsCommunity
AWSSaltstackDebianAWSdocsCommunity (@justinsb)
AWSkopsDebianAWSdocsCommunity (@justinsb)
AWSJujuUbuntuflannel/calico/canaldocsCommercial and Community
AzureJujuUbuntuflannel/calico/canaldocsCommercial and Community
Azure (IaaS)UbuntuAzuredocsCommunity (Microsoft)
Azure Kubernetes ServiceUbuntuAzuredocsCommercial
Bare-metalcustomCentOSflanneldocsCommunity (@coolsvap)
Bare-metalcustomFedoranonedocsProject
Bare-metalcustomFedoraflanneldocsCommunity (@aveshagarwal)
Bare MetalJujuUbuntuflannel/calico/canaldocsCommercial and Community
Bare-metalcustomUbuntuflanneldocsCommunity (@resouer, @WIZARD-CXY)
CloudStackAnsibleCoreOSflanneldocsCommunity (@sebgoa)
DCOSMarathonCoreOS/AlpinecustomdocsCommunity (Kubernetes-Mesos Authors)
Digital RebarkubeadmanymetaldocsCommunity (@digitalrebar)
Docker Enterprisecustommulti-supportmulti-supportdocsCommercial
Giant SwarmCoreOSflannel and/or CalicodocsCommercial
GCECoreOSCoreOSflanneldocsCommunity (@pires)
GCEJujuUbuntuflannel/calico/canaldocsCommercial and Community
GCESaltstackDebianGCEdocsProject
Google Kubernetes EngineGCEdocsCommercial
IBM Cloud Kubernetes ServiceUbuntuIBM Cloud Networking + CalicodocsCommercial
IBM Cloud Kubernetes ServiceUbuntucalicodocsCommercial
IBM Cloud PrivateAnsiblemulti-supportmulti-supportdocsCommercial and Community
Kublrcustommulti-supportmulti-supportdocsCommercial
Kubermaticmulti-supportmulti-supportdocsCommercial
KVMcustomFedoraflanneldocsCommunity (@aveshagarwal)
libvirtcustomFedoraflanneldocsCommunity (@aveshagarwal)
lxdJujuUbuntuflannel/canaldocsCommercial and Community
Madcore.AiJenkins DSLUbuntuflanneldocsCommunity (@madcore-ai)
Mirantis Cloud PlatformSaltUbuntumulti-supportdocsCommercial
Oracle Cloud InfrastructureJujuUbuntuflannel/calico/canaldocsCommercial and Community
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)multi-supportdocsCommercial
oVirtdocsCommunity (@simon3z)
Platform9multi-supportmulti-supportdocsCommercial
RackspacecustomCoreOSflannel/calico/canaldocsCommercial
Red Hat OpenShiftAnsible & CoreOSRHEL & CoreOSmulti-supportdocsCommercial
Stackpoint.iomulti-supportmulti-supportdocsCommercial
VagrantCoreOSCoreOSflanneldocsCommunity (@pires, @AntonioMeireles)
VMware vSphereanymulti-supportmulti-supportdocsCommunity
VMware vSphereJujuUbuntuflannel/calico/canaldocsCommercial and Community
VMware Cloud PKSPhoton OSCanaldocsCommercial
VMware Enterprise PKSBOSHUbuntuVMware NSX-T/flanneldocsCommercial
VMware Essential PKSanymulti-supportmulti-supportdocsCommercial

Definition of columns

Feedback