I set up a few Kubernetes clusters preparing for the CKA exam and discovered that upon reboot, my control plane node didn’t work. Running any kubectl command I get:
The connection to the server 192.168.1.57:6443 was refused - did you specify the right host or port?
This is a common error message that can result from numerous issues but I started troubleshooting by seeing if the kubelet process was running with ps aux | grep kube. Nothing…no kubelet service running. Then I looked at /var/log/syslog and I found the problem — swap was back on!
In Part 1, we created the Kubernetes cluster by running kubeadm init on the control plane node. In part 2 we’ll add a node to an existing cluster that will be capable of running pods which is apparently a possible CKA exam scenario (see cluster ik8s):
The new CKA 2020 for Kubernetes v1.19 blueprint has an objective to, “Use Kubeadm to install a basic cluster.” While I haven’t taken the CKA v1.19 exam yet, based on the exam environment from Linux Foundation (image below), it doesn’t appear that creating a brand new cluster will be necessary in the exam. Instead, cluster ik8s is missing a node and I assume the task will involve gathering the information to add the node to the cluster.
While I’m not an advanced Linux user, I’m comfortable navigating a Linux filesystem. But the lack of a GUI always gave me a bit of anxiety when trying to find where a binary or config file lives. To amplify that frustration, while preparing for the CKA 1.19 exam, I realized that Kubernetes doesn’t store things in one directory so to help myself visualize and remember the directories better, I made the below graphic that illustrates the directories that are necessary for troubleshooting a Kubernetes cluster. In this post, we’ll explore how Kubernetes uses each directory and it’s importance for the CKA.