Kubernetes doesn’t let us run containers by themselves. They must be wrapped in a pod first.
Deployments wrap pods

Replica-set is an intermediary that actually handles mechanics of the scaling and replication of pods within a deployment
replicas: 10000
strategy:
rollingUpdate:
maxSurge: 1 # How many extra "instances" allocated during provisioning
maxUnavailable: 0 # Number you can go below desired state (replicas)
type: RollingUpdate
Zero downtime operation, if clients can handle it.
Replica Set helps you through it 🙂. We can manipulate them if we really want to. Doesn’t mean we should.

Labels tell the Deployment which Pods to select.
