Kubernetes Architecture
Worker Nodes: - will run multiple Pods - need to have: - Container runtime (Docker) - Kubelet - interfaces with both the container and node. Kubelet starts the pod with a container inside - Kube Proxy - forwards requests
Master Nodes: - will manage schedule, start, stop, re-schedule, monitor and join of pods and nodes - need to have: - API server (manages authentication, validate and forward requests, answers to queries for status, etc) - Scheduler - manages creation of new pods based on available resources, this decision is then forwarded to Kubelet process on the worker node to actually create the pod - Controller Manager - detects cluster state changes i.e. pods crashing - etcd - key value store. it's the cluster brain. cluster changes get stored in the key value store (etc)