Create a Cluster
This lesson focuses on how to create a cluster.
We'll cover the following
Creating a cluster#
Before we create a cluster (or start using one you already have available), we’ll clone the vfarcic/k8s-specs repository which contains most of the definitions we’ll use in this course.
A note to Windows users#
Please execute all the commands from this course from Git Bash. That way, you'll be able to run them as they are instead of modifying their syntax to adapt them to Windows terminal or PowerShell.
All the commands from this chapter are available in the 01-hpa.sh Gist.
git clone https://github.com/vfarcic/k8s-specs.git
cd k8s-specs
If you cloned the repository before, please make sure that you have the latest version by executing git pull
.
Gists and specifications#
The gists and the specifications that follow are used to test the commands in this chapter. Choose the flavor you want and run the commands from its .sh
file to create the cluster and the required specifications needed in this chapter.
NOTE: In the end, you will see a command to
DELETE
the cluster too. Don’t execute that command. Use theDELETE
command only when you need to delete the cluster, preferably at the end of the chapter.
GKE
- gke-scale.sh: GKE with 3 n1-standard-1 worker nodes
EKS
- eks-scale.sh: EKS with 3 t2.small worker nodes
AKS
- aks-scale.sh: AKS with 3 Standard_B2s worker nodes
Docker for Desktop
- docker-scale.sh: Docker for Desktop with 2 CPUs, 2 GB RAM
Minikube
- minikube-scale.sh: minikube with 2 CPUs, 2 GB RAM
Please note that we will use
Helm
to install necessary applications, but we’ll switch to “pure” Kubernetes YAML for experimenting with (probably new) resources used in this chapter and for deploying the demo application. In other words, we’ll useHelm
for one-time installations (e.g.,Metrics Server
) and YAML for things we’ll explore in more detail (e.g.,HorizontalPodAutoscaler
).
In the next lesson, let’s talk about Metrics Server
.