Create a Cluster
This lesson focuses on creating a cluster and the necessary requirements and gists for this chapter.
We'll cover the following
Pulling the code#
The vfarcic/k8s-specs repository will continue to serve as our source of Kubernetes definitions. We’ll make sure that it is up-to-date by pulling the latest version.
🔍 All the commands from this chapter are available in the 06-grafana.sh Gist.
cd k8s-specs
git pull
Gists and specifications#
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. The requirements are the same as those we had in the previous chapter. For your convenience, the Gists are available here as well. Feel free to use them to create a new cluster, or to validate that the one you’re planning to use meets the requirements.
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-instrument.sh: GKE with 3 n1-standard-1 worker nodes, nginx Ingress, Prometheus Chart, and environment variables LB_IP, PROM_ADDR, and AM_ADDR
EKS
- eks-hpa-custom.sh: EKS with 3 t2.small worker nodes, nginx Ingress, Metrics Server, Prometheus Chart, environment variables LB_IP, PROM_ADDR, and AM_ADDR, and Cluster Autoscaler
AKS
- aks-instrument.sh: AKS with 3 Standard_B2s worker nodes, nginx Ingress and Prometheus Chart, and environment variables LB_IP, PROM_ADDR, and AM_ADDR
Docker for Desktop
- docker-instrument.sh: Docker for Desktop with 2 CPUs, 3 GB RAM, nginx Ingress, Metrics Server, Prometheus Chart, and environment variables LB_IP, PROM_ADDR, and AM_ADDR
Minikube
- minikube-instrument.sh: minikube with 2 CPUs, 3 GB RAM, ingress, storage-provisioner, default-storageclass, and metrics-server addons enabled, Prometheus Chart, and environment variables LB_IP, PROM_ADDR, and AM_ADDR
In the next lesson, we will see the tools we require for making Dashboards.