Blog
Thoughts on engineering, design, and building great products.
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.
Best Practices: Project Structure and Design
Pulling everything into standards: project directory structure, good role design, naming conventions and FQCN, idempotency, secrets management, and using ansible-lint to catch best-practice issues automatically. With a real lint example.
Testing Roles with Molecule
Before pushing a role to hundreds of hosts, test it. Molecule spins up a throwaway container, applies the role, checks idempotency, and verifies the result — automatically. This article: scenario structure, the create→converge→idempotence→verify→destroy test loop, and version caveats.