Skip to main content

Command Palette

Search for a command to run...

A Step-by-Step Guide to Kubeadm Installation on Both Master and Worker Nodes

Updated
2 min read
A Step-by-Step Guide to Kubeadm Installation on Both Master and Worker Nodes

Introduction: Kubeadm is a popular tool for setting up a Kubernetes cluster quickly and easily. In this guide, we will walk you through the installation process of Kubeadm on both master and worker nodes to create your own Kubernetes cluster. By following these steps, you'll be able to deploy and manage containerized applications efficiently. Let's dive into the installation process.

Prerequisites: Before you begin, make sure you have two Ubuntu-based machines, one designated as the master node and the other as the worker node. Ensure that you have root access to both nodes.

Installing Kubeadm on Both Master and Worker Nodes: To begin, follow these steps on both your master and worker nodes.

Step 1: Update and Install Docker

sudo su
apt update -y
apt install docker.io -y

systemctl start docker
systemctl enable docker

Step 2: Add Kubernetes Repository and Install Kubeadm

curl -fsSL "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpg
echo 'deb https://packages.cloud.google.com/apt kubernetes-xenial main' > /etc/apt/sources.list.d/kubernetes.list

apt update -y
apt install kubeadm=1.20.0-00 kubectl=1.20.0-00 kubelet=1.20.0-00 -y

Master Node Setup:

Step 3: Initialize Kubernetes on the Master Node

sudo su
kubeadm init

Step 4: Configure Kubeconfig To start using your cluster, you need to configure your kubeconfig file.

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf

Step 5: Deploy a Pod Network

kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml

Step 6: Generate Join Command

kubeadm token create --print-join-command

Worker Node Setup:

Step 7: Reset and Join Worker Node

sudo su
kubeadm reset pre-flight checks
# Paste the Join command obtained from the master node and append `--v=5` at the end

Step 8: Verify Cluster Connection To ensure that your cluster is up and running, run the following command on the master node:

kubectl get nodes

Conclusion: Congratulations! You've successfully set up a Kubernetes cluster using Kubeadm on both the master and worker nodes. Now you can start deploying and managing your containerized applications. Kubernetes offers a powerful platform for orchestration and scaling, making it easier to manage container workloads in a production environment. Happy containerization!

More from this blog

DevOps Journey with M Hassan

174 posts

I am writing these blogs because I recently completed a comprehensive DevOps course where I gained in-depth knowledge of the topics mentioned. As I progressed through the course, I realized the importance of having a concise and accessible resource to revise and reinforce my understanding of each topic. Therefore, I decided to create cheat sheets in the form of blog posts. These cheat sheets will not only serve as a handy reference for myself but also benefit others who are also interested in mastering DevOps concepts. By documenting each topic and providing concise explanations, I aim to create a valuable resource that simplifies complex concepts and facilitates hands-on practice. This way, I can solidify my own understanding while helping others on their DevOps journey.