1) What is Kubernetes?
Answer: It is a container orchestration tool. For VM many options are there like AWS , Azure , GCP , but for containers there is only 1 option which is kubernetes, primarily to Compute, Storage , Load balancing , security , DB, DNS and Security.
2) Why do we need Kubernetes ?
How to run containers at production level is the challenge.
Docker can manage single host , containers brings scalability challenges. One stop solution for scalability , self-healing ,recovery , networking etc.
3) How Kubernetes work ?
Kubernetes run in worker node and inside that it's a pod.
Master node manages worker nodes .Master controls the worker nodes .The Master is Linux whereas worker can be linux/windows.
4) Kubernetes Architecture ?
API server is the ears , it hears the instructions and send it to the Cluster Store which is like brain and controller keeps a watch just like eyes and scheduler is like mouth which assigns the work to minions.
5) Explain each component
1) Master Node : Manages worker node .We need 4 s/w components
a) api-server :Is bascially registry or a frontend to control pane.
b) Cluster-store: It is SOT . Like how you have DB so is its job.
c) kube-controller-manager : If node is up or down , pod is up pr down and watched for changes .It runs continously.
d) kube-scheduler: Assigns work to worker nodes.
via kubectl we send desire to kubernetes which firstly hits API server and then further processing happens.
Kubectl runs in each worker and bugs API server continously.
e) Pod - Is a logical entity , Container consumes RAM and CPU and not containers . Pod wraps the container.
Pods are instantiated , Containers are created.You cannot go inside pods and see logs , but with containers yes.
f) kube-proxy : Assigns IP Address to Pods and not to containers via IP tables . 4 container in a pod will have same IP Address.
Note:
1) All Nodes can communicate with All Pods
2) All Pods can communicate with each other on all nodes
3) API server is the only source of communication
All we need to do is setup cluster , and via kubectl send desire to kubernets , rest is all managed by it.
Top comments (0)