Control plane and nodes
The API server is the single front door; etcd stores the desired state; the scheduler places Pods; controllers continuously reconcile actual state towards desired state. Each node runs a kubelet and a container runtime. Kubernetes is a control loop, not a deployment script.
Workload objects
A Pod is one or more co-located containers sharing a network namespace. A ReplicaSet keeps N Pods alive; a Deployment manages ReplicaSets to give rolling updates and rollbacks. StatefulSets provide stable identity and storage, DaemonSets run one Pod per node, and Jobs/CronJobs handle batch work.
Networking and configuration
A Service gives a stable virtual IP and DNS name over a changing set of Pods; an Ingress or Gateway routes external HTTP traffic. ConfigMaps hold non-secret configuration and Secrets hold sensitive values, both mountable as files or environment variables.
apiVersion: apps/v1
kind: Deployment
metadata:
name: api
spec:
replicas: 3
selector:
matchLabels: { app: api }
template:
metadata:
labels: { app: api }
spec:
containers:
- name: api
image: registry.example.com/api@sha256:abcd...
ports: [{ containerPort: 8080 }]
readinessProbe:
httpGet: { path: /healthz, port: 8080 }
resources:
requests: { cpu: 100m, memory: 128Mi }
limits: { cpu: 500m, memory: 512Mi }