Glossary

Kubernetes

Kubernetes is an open-source system that runs containerised applications across a group of machines, keeping the running state matched to a declared one.

Short answer

What is kubernetes?

Kubernetes is an open-source system that runs containerised applications across a group of machines, keeping the running state matched to a declared one.

Explained two ways

Plain and technical

In plain terms

You tell Kubernetes what you want (three copies of this application, reachable at this address, with this much memory), and it works out which machines to run them on and keeps them running. If a machine fails, it moves the work elsewhere without anyone intervening.

Technically

Kubernetes is a set of control loops. The control plane (API server, etcd, scheduler and controller manager) stores desired state and continuously reconciles actual state towards it. Each node runs a kubelet that realises the pods assigned to it, a container runtime, and kube-proxy for service networking. Changes are eventually consistent: a successful apply means the desired state was recorded, not that it has taken effect.

Example

What it looks like in practice

A Deployment declares three replicas. A node fails, taking one replica with it. The ReplicaSet controller notices the shortfall, creates a replacement pod, the scheduler places it on a healthy node, and that node kubelet starts it, with no human involvement.
Keep going

More definitions

See these concepts in a running system

A 30-minute walkthrough against your own infrastructure rather than a slide about the theory.