As per my initial understanding ...
Kubernetes is container orchestration tool for managing, automating, and scaling containerized applications. Using Kubernetes interface through GUI or kubectl , developers /devops can view ,access and deploy into container ecosystem.
Managing container within a data centre is complex ,rather than individually managing each container in a cluster, a DevOps team can instead use Kubernetes to allocate the necessary resources to a container in advance, and manage them effectively.
Kubernetes cluster has master nodes(control plane) and worker nodes.
Master node is the in charge and the worker nodes do the actual work. We can have multiple master node which are connected via a load balancer.
API-Server – Its front door for the user who want to use Kubernetes and its services. It exposes the API(REST) and consumes JSON via manifest files.
CLUSTER STORE – It’s the persistent storage which has the information about cluster state and configuration.
CONTROLLER MANAGER – It’s a watcher within the master nodes that watch for changes and help in maintaining desired state.
SCHEDULER - It assign the work to worker nodes when asked from API Server. It watches API server for a change.
Kublet - It is the main Kubernetes agent. It registers nodes with clusters and instantiates pods and reports back to master.
Container Engine (Ex -Docker) – It a container management tool for pulling images and creating container.
Kube Proxy – It handle networking w.r.t to POD and also manage load balancing.
It can be laptop with kubectl installed.
It can be web based UI.
Text Editor or IDE.
- A pod is the smallest execution unit in Kubernetes.
- POD contains one or multiple containers.
- POD communicate over pod network to each other
- POD is IP addresses and abstract the container running inside them For ex- container 1 -> port 80 , container 2 -> port 90 . IP Address for POD – 10.10.2.2 Then to access container1 address will be 10.10.2.2:80
- If a pod fails, it cannot be redeployed. A pod can only be created.
- PODs are having three stages – Pending , Running, Success/Failed