You already know what the first steps are. Create a new cluster or reuse the one you dedicated to the exercises.
We'll start by going to the local copy of the vfarcic/k8s-specs repository and making sure that we have the latest revision.
1 cd k8s-specs
2 3 git pull
We'll need a few files from the go-demo-3 repository you cloned in one of the previous chapters. To be on the safe side, please merge it the upstream. If you forgot the commands, they are available in the go-demo-3-merge.sh gist (https://gist.github.com/vfarcic/171172b69bb75903016f0676a8fe9388).
The requirements are the same as those from the previous chapters. The only difference is that I will assume that you'll store the IP of the cluster or the external load balancer as the environment variable LB_IP.
For your convenience, the Gists and the specs are available as follows. Please note that they are the same as those we used in the previous chapter with the addition of the export LB_IP command.
- docker4mac-ip.sh: Docker for Mac with 3 CPUs, 3 GB RAM, with nginx Ingress, with tiller, and with LB_IP variable set to 127.0.0.1 (https://gist.github.com/vfarcic/66842a54ef167219dc18b03991c26edb).
- minikube-ip.sh: minikube with 3 CPUs, 3 GB RAM, with ingress, storage-provisioner, and default-storageclass addons enabled, with tiller, and with LB_IP variable set to the VM created by minikube (https://gist.github.com/vfarcic/df5518b24bc39a8b8cca95cc37617221).
- kops-ip.sh: kops in AWS with 3 t2.small masters and 2 t2.medium nodes spread in three availability zones, with nginx Ingress, with tiller, and with LB_IP variable set to the IP retrieved by pinging ELB's hostname. The Gist assumes that the prerequisites are set through Appendix B (https://gist.github.com/vfarcic/7ee11f4dd8a130b51407582505c817cb).
- minishift-ip.sh: minishift with 3 CPUs, 3 GB RAM, with version 1.16+, with tiller, and with LB_IP variable set to the VM created by minishift (https://gist.github.com/vfarcic/fa902cc2e2f43dcbe88a60138dd20932).
- gke-ip.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, with tiller, and with LB_IP variable set to the IP of the external load balancer created when installing nginx Ingress. We'll use nginx Ingress for compatibility with other platforms. Feel free to modify the YAML files and Helm Charts if you prefer NOT to install nginx Ingress (https://gist.github.com/vfarcic/3e53def041591f3c0f61569d49ffd879).
- eks-ip.sh: Elastic Kubernetes Service (EKS) with 2 t2.medium nodes, with nginx Ingress controller, with a default StorageClass, with tiller, and with LB_IP variable set to the IP retrieved by pinging ELB's hostname (https://gist.github.com/vfarcic/f7f3956cd39c3bc55638529cfeb2ff12).
Now we're ready to install Jenkins.