After a quick chat about it, we agreed that "components" reflected better what we meant ✔️
4.9 KiB
Installing a managed cluster
"The easiest way to install Kubernetes is to get someone
else to do it for you."
(Jérôme Petazzoni)
-
Let's see a few options to install managed clusters!
-
This is not an exhaustive list
(the goal is to show the actual steps to get started)
-
All the options mentioned here require an account with a cloud provider
-
... And a credit card
EKS (the hard way)
-
Create service roles, VPCs, and a bunch of other oddities
-
Try to figure out why it doesn't work
-
Start over, following an official AWS blog post
-
Try to find the missing Cloud Formation template
--
.footnote[(╯°□°)╯︵ ┻━┻]
EKS (the easy way)
-
Install
eksctl -
Set the usual environment variables
(AWS_DEFAULT_REGION, AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY)
-
Create the cluster:
eksctl create cluster -
Wait 15-20 minutes (yes, it's sloooooooooooooooooow)
-
Add cluster add-ons
(by default, it doesn't come with metrics-server, logging, etc.)
EKS (cleanup)
-
Delete the cluster:
eksctl delete cluster <clustername> -
If you need to find the name of the cluster:
eksctl get clusters
.footnote[Note: the AWS documentation has been updated and now includes eksctl instructions.]
GKE (initial setup)
-
Install
gcloud -
Login:
gcloud auth init -
Create a "project":
gcloud projects create my-gke-project gcloud config set project my-gke-project -
Pick a region
(example:
europe-west1,us-west1, ...)
GKE (create cluster)
-
Create the cluster:
gcloud container clusters create my-gke-cluster --region us-west1 --num-nodes=2(without
--num-nodesyou might exhaust your IP address quota!) -
The first time you try to create a cluster in a given project, you get an error
- you need to enable the Kubernetes Engine API
- the error message gives you a link
- follow the link and enable the API (and billing)
(it's just a couple of clicks and it's instantaneous)
-
Wait a couple of minutes (yes, it's faaaaaaaaast)
-
The cluster comes with many add-ons
GKE (cleanup)
-
List clusters (if you forgot its name):
gcloud container clusters list -
Delete the cluster:
gcloud container clusters delete my-gke-cluster --region us-west1 -
Delete the project (optional):
gcloud projects delete my-gke-project
AKS (initial setup)
-
Install the Azure CLI
-
Login:
az login -
Select a region
-
Create a "resource group":
az group create --name my-aks-group --location westeurope
AKS (create cluster)
-
Create the cluster:
az aks create --resource-group my-aks-group --name my-aks-cluster -
Wait about 5-10 minutes
-
Add credentials to
kubeconfig:az aks get-credentials --resource-group my-aks-group --name my-aks-cluster -
The cluster has useful components pre-installed, such as the metrics server
AKS (cleanup)
-
Delete the cluster:
az aks delete --resource-group my-aks-group --name my-aks-cluster -
Delete the resource group:
az group delete --resource-group my-aks-group -
Note: delete actions can take a while too!
(5-10 minutes as well)
Digital Ocean (initial setup)
-
Install
doctl -
Generate API token (in web console)
-
Set up the CLI authentication:
doctl auth init(It will ask you for the API token)
-
Check the list of regions and pick one:
doctl compute region list(If you don't specify the region later, it will use
nyc1)
Digital Ocean (create cluster)
-
Create the cluster:
doctl kubernetes cluster create my-do-cluster [--region xxx1] -
Wait 5 minutes
-
Update
kubeconfig:kubectl config use-context do-xxx1-my-do-cluster -
The cluster comes with some components (like Cilium) but no metrics server
Digital Ocean (cleanup)
-
List clusters (if you forgot its name):
doctl kubernetes cluster list -
Delete the cluster:
doctl kubernetes cluster delete my-do-cluster
More options
-
Alibaba Cloud
-
OVH
-
Scaleway (private beta)
-
...