Greek for Helmsman or Pilot

Takes care of the complete logic, give it a declarative manifest and it takes care of everything

Leading cluster manager or orchestrator for microserviced app

Cluster essentially a bunch of masters and nodes

Declarative model

Gives api manifest files to tell it how we want it to look and feel, describe what you want, kubernetees takes care of everything

manifest file - desired state of cluster

High level

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/24d33d31-a553-46bb-b81f-5fb81b5ea777/Screenshot_2020-04-27_at_16.38.05.png

Post, replication controllers, deployments and services are all REST objects in the kubernetes API

Never run a container outside of a pod or have it not being managed by the kubelet

Masters

Keep the master free of workloads, leave it to look after the cluster

kube-apiserver - front end to control the plane, only component we really deal with a.k.a master, no other components expose an endpoint for us, come usually by the kubectl via JSON

cluster store - persistent storage, cluster state and config, uses etcd, no sql database, source of truth for the cluster

kube-controller-manager - node controller, endpoint controller, namespace controller, watches for changes

kube-schedules - watches for new pods and assigned it to server

usually just one master but multi-master configs are possible