- Kind
- Components
- Pods
- ReplicationSet
- Labels and Annotations
- Service
- Deployments
- Namespaces
- Volumes
- Config
- StatefulSets
- Resources
- Each node runs kubelet which sends requests to Api server
- It sends manifests when
kubectl apply
is used - It sends health metrics about each POD running on this node
- It sends manifests when
- When Api server gets pod manifest from
kubelet
it will create a new entry in etcd(this entry is usually a deployment) - Control Manager listens for events from
etcd
once it got a new deployment manifest it will- Create a ReplicaSet manifest in etcd
- Pod manifests in etcd
- Scheduler will listen for new Pod manifests in
etcd
and once new manifest is created it will- Check healthy nods
- Choose the most appropriate node according to available resources and create a new entry
in etcdPod 1-> Node1
- kubelet listens for new etcd events with
Pod 1-> Node 1
type once it finds an event with it's own Node it will deploy this pod in the node it's running on and change the status of this POD in etcd as running - kubelet will notify etcd through API that Pod that was running is down
- Control Manager will periodically check how many Pods in etcd are running and how many are expected according to ReplicaSet manifest if Pods are less than expected then it will create a new Pod manifest in etcd that then will be processed by Scheduler and kubeletet