Today is a rainy day in the cost zone in the Argentine South.
Talking with some friends in India, appeared some doubts about some questions in a CKA revision meeting to pass the CKA certification.
The idea was to test some labs to answer some questions about the deployments of the applications and HA. But the lab of my dear friend Askay was only one node with minikube.
So I remembered a tweet from Carlos Santana that an I read a few weeks ago and the result was to deploy a new node with minikube using minikube commands.
The first step was reproducing the same scenario, so I decided to install minikube on my laptop and share with you a brief explanation:
Installing Minikube for ubuntu 20.04
Download the minikube, please.
Now, copy the files and give some necessary permissions:
sudo cp minikube-linux-amd64 /usr/local/bin/minikube sudo chmod 755 /usr/local/bin/minikube minikube version
After obtaining our minikube software, remember to check if you have VirtualBox or KVM on your machine. If you prefer Windows, It’s necessary to activate Hyper-V.
It’s important to know that this is a review of the problem of my friend and I who was step by step through your installation and startup as he did.
Startup the minikube cluster
Now, when we tried Carlos’s recommendation, this solution did not found.
Let’s go and see what happened.
juanandres@prometheus:~$ minikube start 😄 minikube v1.25.1 on Ubuntu 20.04 ✨ Automatically selected the virtualbox driver 💿 Downloading VM boot image ... > minikube-v1.25.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s > minikube-v1.25.0.iso: 226.25 MiB / 226.25 MiB 100.00% 2.78 MiB p/s 1m22s 👍 Starting control plane node minikube in cluster minikube 💾 Downloading Kubernetes v1.23.1 preload ... > preloaded-images-k8s-v16-v1...: 504.42 MiB / 504.42 MiB 100.00% 2.96 MiB 🔥 Creating virtualbox VM (CPUs=2, Memory=2900MB, Disk=20000MB) ... 🐳 Preparing Kubernetes v1.23.1 on Docker 20.10.12 ... ▪ kubelet.housekeeping-interval=5m ▪ Generating certificates and keys ... ▪ Booting up control plane ... ▪ Configuring RBAC rules ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Run kubectl command and check the nodes and pods running:
❯ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 18m v1.23.1 ❯ kubectl get ns NAME STATUS AGE default Active 18m kube-node-lease Active 18m kube-public Active 18m kube-system Active 18m
Attach new node on minikube
At this moment, we decide to attach the new node with the :
minikube add node
See below please, to review the implemented command:
juanandres@prometheus:~$ minikube node add 😄 Adding node m02 to cluster minikube ❗ Cluster was created without any CNI, adding a node to it might cause broken networking. 👍 Starting worker node minikube-m02 in cluster minikube 🔥 Creating virtualbox VM (CPUs=2, Memory=2200MB, Disk=20000MB) ... 🐳 Preparing Kubernetes v1.23.1 on Docker 20.10.12 ... 🔎 Verifying Kubernetes components... 🏄 Successfully added m02 to minikube!
Check the new node
With kubectl commands, we can check the new worker instance running fine:
❯ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 20m v1.23.1 minikube-m02 Ready <none> 41s v1.23.1
Remember, Askay did start a minikube with one node, so was necessary only add a new node. If my friend did not start the service, the correct choice was this one:
minikube start --nodes=2 --cpus=2 --memory=2g
Have a nice week and enjoy your Kubernetes mini-lab!