Blog
Thoughts on engineering, design, and building great products.
Service: A Stable Address and Load Balancing
Pods come and go, IPs change constantly — so how do you call them? A Service gives you a stable address in front of a group of pods and load-balances automatically. This article: how ClusterIP, NodePort and LoadBalancer differ, how internal DNS lets you call a service by name, and kube-proxy behind it all.
Deployment and ReplicaSet: Keeping Your App Alive
Deployment is the object you use most to run applications: it keeps N pod copies alive (via ReplicaSet), rebuilds them when they die, scales up/down, and updates versions gradually with no downtime — plus rollback. This article proves each property with real commands.
Pod: The Smallest Unit in Kubernetes
The Pod is the foundational brick of Kubernetes — not a container, but a group of containers sharing network and storage. This article: write a pod in YAML, apply it, check its state, read logs, exec in, port-forward, and the lesson on why nobody runs bare pods in production.
Installing minikube + kubectl, Your First Cluster
Getting hands-on: install kubectl and minikube, start your first cluster with the Docker driver, understand kubeconfig and context, then run your first pod as a 'hello world'. With all the real output from minikube.
Kubernetes Architecture: Control Plane and Node
Lifting the hood on a Kubernetes cluster: the control plane (api-server, etcd, scheduler, controller-manager) is the brain, the node with kubelet and kube-proxy is where applications run. This article explains each component's role at a high level — and watches them run for real in minikube.
What Is Kubernetes and Why Orchestration
Series opener: from a single container to running dozens of containers across multiple machines — the problem Kubernetes was built to solve. Why 'orchestration' and 'desired state' are the two most important ideas, what minikube is, and the roadmap for the whole series.
A Complete Project and Series Wrap-Up
Putting it all together: a complete Ansible project that deploys an application with a role following best practices, running idempotently on a real server. Then cleaning up the infrastructure, recapping the journey from ad-hoc to custom modules, and pointers for what to learn next.