Control Plane: Set of containers running on the (master) nodes that manages the cluster, sometimes called the master
Includes API server, scheduler, controller manager, etcd and more
These containers can be installed in a single master node or can be distributed on multiple master nodes
Kubelet: k8s agent running on nodes(worker), allowing the node to talk back to the k8s master
Kube-proxy: Controls the network, installed on the (worker) nodes
Kubernetes Control Plane
etcd: Distributed storage system for key values
need multiple k8s containers that will store data inside etcd and manage the cluster
API: Way to talk to the cluster and issue orders
Scheduler: Control how and where the containers are placed on the nodes in objects called pods
Controlled Manager: Looks at the state of the whole cluster and everything that running by using the API.
Takes the orders that are giving it(CLI), or the specs, and applies the CLI by determing the difference between what the CLI asked to do and the current state
CoreDNS: Controls the DNS
Kubernetes Container Abstractions
Pod: Basic unit of deployment, containers are always in pods
Controller: Create/Updates pods and other objects
Variety of Controllers include Deployment, ReplicaSet, StatefulSet, DaemonSet, Job, CronJob, etc.