1)K8 Architecture consists of Master(s) and Worker Nodes. Worker node can have multiple pods.
2)Worker Node contains PODs and PODS contain one or more containers.
3)Deployment Instruction is received by Master and it is in charge to instantiate the pod.
4)Master of Linux can be combined with worker nodes of windows too (but with recent version of windows) (Doubt)
Component of master and its role for each
1)Kubi-APIServer - Receives all instructions in the form of JSON.(REST)
2)Cluster Store . Key Value pair. Cluster information is persisted in this. powered by etcd.
3)Kube Controller manager - Controllers different type of controllers. Watches and maintains desired state.
4)Kube Scheduler - Watches APIServer for new pod requests.
Component of worker and its role for each....
1)Kubelet - Main agent in worker node. Registers node with the cluster. Instantiates pod. Reports to master.
Responsible for pod lifecycle.(Pending-running-Success).
No same pod can be received. But Similar pod can be maintained.
2)Container Engine - Pulls images. Usually docker. Recently it is rkt.
3)Kube Proxy - It takes care of networking relevant requirements of the newly created pod.