Kubernetes 07: Services and Networking

The last stage before the capstone. It picks up right where the kubelet (Kubernetes 06: The Kubelet) left off: programs are alive and running somewhere in the fleet, and this stage is how anything outside ever finds one of them.
Before you start. This series builds a small copy of Kubernetes, a program that watches over a fleet of machines and keeps every program you asked for running on them, restarting anything that dies (Build Your Own Kubernetes - From Scratch). Kubernetes calls one running copy of a program a pod - usually one container, a program bundled up to run the same way anywhere. One machine in the fleet is a node, and the whole fleet together is a cluster. So far our build can do four things. You write down what you want running in a plain text file, and a shared store keeps it. Small loops called controllers watch that store and nudge reality to match it. A scheduler picks which machine, or node, runs each pod. On that node a helper called the kubelet starts the pod and restarts it if it dies. Every pod also gets its own IP address, its number on the network, and every restart or move hands it a new one. This stage is about what to do when the number you wrote down keeps changing under you.