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
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
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:
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
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!