Getting started

Kubernetes v1.16 documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the latest version.

Edit This Page

Getting started

This section covers different options to set up and run Kubernetes.

Different Kubernetes solutions meet different requirements: ease of maintenance, security, control, available resources, and expertise required to operate and manage a cluster.

You can deploy a Kubernetes cluster on a local machine, cloud, on-prem datacenter; or choose a managed Kubernetes cluster. You can also create custom solutions across a wide range of cloud providers, or bare metal environments.

More simply, you can create a Kubernetes cluster in learning and production environments.

Learning environment

If you’re learning Kubernetes, use the Docker-based solutions: tools supported by the Kubernetes community, or tools in the ecosystem to set up a Kubernetes cluster on a local machine.

Local machine solutions table that lists the tools supported by the community and the ecosystem to deploy Kubernetes.
MinikubeCDK on LXD
kind (Kubernetes IN Docker)Docker Desktop
IBM Cloud Private-CE (Community Edition)
IBM Cloud Private-CE (Community Edition) on Linux Containers
Ubuntu on LXD

Production environment

When evaluating a solution for a production environment, consider which aspects of operating a Kubernetes cluster (or abstractions) you want to manage yourself or offload to a provider.

Some possible abstractions of a Kubernetes cluster are applicationsThe layer where various containerized applications run. , data planeThe layer that provides capacity such as CPU, memory, network, and storage so that the containers can run and connect to a network. , control planeThe container orchestration layer that exposes the API and interfaces to define, deploy, and manage the lifecycle of containers. , cluster infrastructureThe infrastructure layer provides and maintains VMs, networking, security groups and others. , and cluster operationsActivities such as upgrading the clusters, implementing security, storage, ingress, networking, logging and monitoring, and other operations involved in managing a Kubernetes cluster. .

The following diagram lists the possible abstractions of a Kubernetes cluster and whether an abstraction is self-managed or managed by a provider.

Production environment solutionsProduction environment solutions

The following production environment solutions table lists the providers and the solutions that they offer.

Local machine solutions table that lists the tools supported by the community and the ecosystem to deploy Kubernetes.Production environment solutions table lists the providers and the solutions.
ProvidersManagedTurnkey cloudOn-prem datacenterCustom (cloud)Custom (On-premises VMs)Custom (Bare Metal)
Agile Stacks
Alibaba Cloud
AmazonAmazon EKSAmazon EC2
Banzai Cloud Pipeline Kubernetes Engine (PKE)
CenturyLink Cloud
Cisco Container Platform
Cloud Foundry Container Runtime (CFCR)
Digital Rebar
Docker Enterprise
Fedora (Multi Node) 
Fedora (Single Node) 
GardenerCustom Extensions
Giant Swarm
GoogleGoogle Kubernetes Engine (GKE)Google Compute Engine (GCE)GKE On-Prem
IBMIBM Cloud Kubernetes ServiceIBM Cloud Private
IonosIonos Managed KubernetesIonos Enterprise Cloud
Kontena Pharos
Microsoft AzureAzure Kubernetes Service (AKS)
Mirantis Cloud Platform
NutanixNutanix KarbonNutanix KarbonNutanix AHV
OpenNebulaOpenNebula Kubernetes
OpenShiftOpenShift Dedicated and OpenShift OnlineOpenShift Container PlatformOpenShift Container PlatformOpenShift Container Platform
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)
PivotalEnterprise Pivotal Container Service (PKS)Enterprise Pivotal Container Service (PKS)
Platform9Platform9 Managed KubernetesPlatform9 Managed Kubernetes
RancherRancher 2.xRancher Kubernetes Engine (RKE)k3s
Tencent CloudTencent Kubernetes Engine
VMwareVMware Cloud PKSVMware Enterprise PKSVMware Enterprise PKSVMware Essential PKSVMware Essential PKS