Deploying Kubernetes Cluster

n00🔑
10 min readAug 16, 2023

While using a managed Kubernetes service like EKS or GKE provides simplicity, understanding how to manually build a Kubernetes cluster from scratch is valuable for really comprehending how Kubernetes works under the hood. In this blog post, I’ll go through step-by-step how to manually deploy a Kubernetes cluster without any abstraction or automation.

We’ll start from bare Linux servers and get hands-on experience with:

  • Installing container runtimes(containerd), kubelet, and kubeadm
  • Initializing the master using kubeadm init
  • Joining worker nodes to the cluster
  • Deploying a sample application on the cluster
  • Exploring core Kubernetes components like etcd, controller manager, scheduler etc.
  • Troubleshooting common issues and validating the deployment

Doing a manual install requires more effort than automated tools, but gives you operational experience with Kubernetes internals. You’ll gain insights into how the components fit together, networking requirements, and validating health/functionality.

The goal is to take generic servers and transform them into a fully operational Kubernetes cluster ready to run containerized applications. No shortcuts — just good old Linux, networking, Docker, and Kubernetes knowledge.

Follow along as I share my journey and learnings building Kubernetes from the ground up. We’ll celebrate at the end by running…

--

--