The course requires a kubernetes cluster to be running in order to do the labs. There are instructions on how to achieve it on different platforms. I decided to pick Google Cloud to gain exposure to the cloud platform.
Setting Google Cloud was relatively easy. There are $300 free credit available when creating a Google cloud account.
A link will be provided in the course for scripts that help set up the Control Plane and the Worker nodes
When using wget to download the scripts, ensure that the underscores are copied over in the link. syntax of wget command is: wget <URL> --user=<username> --password=<password>
There is a script to set up the Control Plane node and another one to set up the Worker node.
Once the Control Plane and the Worker nodes are set up, it is time for the worker node to join the Control Plane, command is of syntax: kubeadm join <ControlPlaneNodeIp>:6443 --token <token> --discovery-token-ca-cert-hash <ControlPlaneNodeCertHash>
The join token is only valid for 23 hours. In order to add a worker node after that, the command below is to regenerate the token along with the full syntax to run on the worker node: kubeadm token create --print-join-command
In a Production scenarios, Control Plane nodes do not run any application container. To prevent scheduling of a container, Kubernetes applies taints to the CP node. A taint is a key value pair that attaches attributes to nodes. To view the taint on nodes if any, run kubeclt get nodes | grep -i taint