It's hands-on time again. We'll need to go back to the local copy of the vfarcic/k8s-specs (https://github.com/vfarcic/k8s-specs) repository and pull the latest version.
1 cd k8s-specs
2 3 git pull
Just as in the previous chapters, we'll need a cluster if we are to execute hands-on exercises. The rules are still the same. You can continue using the same cluster as before, or you can switch to a different Kubernetes flavor. You can keep using one of the Kubernetes distributions listed as follows, or be adventurous and try something different. If you go with the latter, please let me know how it went, and I'll test it myself and incorporate it into the list.
Cluster requirements in this chapter are the same as in the previous. We'll need at least 3 CPUs and 3 GB RAM if running a single-node cluster, and slightly more if those resources are spread across multiple nodes.
For your convenience, the Gists and the specs we used in the previous chapter are available here as well.
- docker4mac-3cpu.sh: Docker for Mac with 3 CPUs, 3 GB RAM, and with nginx Ingress (https://gist.github.com/vfarcic/bf08bce43a26c7299b6bd365037eb074).
- minikube-3cpu.sh: minikube with 3 CPUs, 3 GB RAM, and with ingress, storage-provisioner, and default-storageclass addons enabled (https://gist.github.com/vfarcic/871b5d7742ea6c10469812018c308798).
- kops.sh: kops in AWS with 3 t2.small masters and 2 t2.medium nodes spread in three availability zones, and with nginx Ingress (assumes that the prerequisites are set through Appendix B) (https://gist.github.com/vfarcic/2a3e4ee9cb86d4a5a65cd3e4397f48fd).
- minishift-3cpu.sh: minishift with 3 CPUs, 3 GB RAM, and version 1.16+ (https://gist.github.com/vfarcic/2074633688a85ef3f887769b726066df).
- gke-2cpu.sh: Google Kubernetes Engine (GKE) with 3 n1-highcpu-2 (2 CPUs, 1.8 GB RAM) nodes (one in each zone), and with nginx Ingress controller running on top of the "standard" one that comes with GKE. We'll use nginx Ingress for compatibility with other platforms. Feel free to modify the YAML files if you prefer NOT to install nginx Ingress (https://gist.github.com/vfarcic/e3a2be59b0294438707b6b48adeb1a68).
- eks.sh: Elastic Kubernetes Service (EKS) with 2 t2.medium nodes, with nginx Ingress controller, and with a default StorageClass (https://gist.github.com/vfarcic/5496f79a3886be794cc317c6f8dd7083).
With a cluster up-and-running, we can proceed with an introduction to Helm.