{% extends "kubernetes/base_kubernetes.html" %}
{% block title %}Install Kubernetes{% endblock %}
{% block meta_description %}
A step-by-step installation guide to Kubernetes on your software defined infrastructure.
{% endblock meta_description %}
{% block meta_copydoc %}
https://docs.google.com/document/d/1oiD6UUomf2daZitS3UOosujYBXPbiOMzPtXVZBq-ph0/edit
{% endblock meta_copydoc %}
{% block content %}
Canonical Kubernetes is pure upstream and works on any cloud, from bare metal to public and edge. Deploy single node and multi-node clusters with Charmed Kubernetes and MicroK8s to support container orchestration, from testing to production. Both distributions bring the latest innovations from the Kubernetes community within a week of upstream release, allowing for time to learn, experiment and upskill.
Canonical helps you be successful with Kubernetes, starting from where you want to deploy it and how you intend
to use it.
Self-managed deployments give you greater control on Kubernetes infrastructure, from cloud to edge. Canonical
Managed Kubernetes provides a hands-off experience with great economics.
(i). Use Ubuntu’s platform to run worker nodes on all public clouds (AKS, EKS, and GKE)
MicroK8s is a lightweight, zero-ops Kubernetes for Linux, Windows and macOS. A single command installs all
upstream Kubernetes services and their dependencies. With support for x86 and ARM64, MicroK8s runs from local
workstations to the edge and IoT appliances.
Charmed Kubernetes is a fully automated, model-driven approach to installing and managing Kubernetes from
bare-metal to the cloud. Build your Kubernetes cloud from the ground up, integrate it with your favorite tools,
and create multi-cloud topologies.
To create a cluster out of two or more already-running MicroK8s instances, use the microk8s add-node command. As of MicroK8s 1.19, clustering of three or more nodes will automatically enable high availability.
The MicroK8s instance on which the command is run will host the Kubernetes control plane:
The add-node command prints a microk8s join command which should be executed on the MicroK8s instance(s) that you wish to join to the cluster (NOT THE NODE YOU RAN add-node FROM). For example:
Joining a node to the cluster should only take a few seconds. Afterwards you should be able to see the node has joined:
If you want to know more about our enterprise multi-cloud Kubernetes read the Charmed Kubernetes documentation ›
Are you a developer looking to quickly run local K8s clusters or an enterprise looking for K8s at the edge?
Read the MicroK8s documentation
Curious to learn about our Charmed Operators and how they automate DevOps and application lifecycle tasks? Browse through the Charmed OLM documentation
Install Kubernetes
How to deploy Kubernetes
Product
Infrastructure
Use case
Enterprise Support
Managed Kubernetes
MicroK8s
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
Charmed Kubernetes
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
Cloud Hosted (i)
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
Provided by the clouds
Kubeadm
{{ image(url="https://assets.ubuntu.com/v1/f1a7515d-tick-darkaubergine.svg",
alt="",
width="14",
hi_def=True,
loading="lazy") | safe
}}
-
How to install Kubernetes
Single node Kubernetes with MicroK8s
MicroK8s installs a single node, CNCF-certified Kubernetes cluster in seconds
Select platform for install steps
Multi-node clusters
Charmed Kubernetes installs CNCF-certified Kubernetes clusters across clouds
Select platform for install steps
Multi-node, highly available Kubernetes with MicroK8s
microk8s add-nodemicrok8s join ip-172-31-20-243:25000/DDOkUupkmaBezNnMheTBqFYHLWINGDbfmicrok8s kubectl get noRead the docs
Kubernetes resources