Kubernetes Interview Question
Comprehensive source of knowledge for interviews Kubernetes .
Introducing Kubernetes

Kubernetes is an open source distributed technology that helps us schedule and execute application containers across multiple clusters. Kubernetes consists of two types of resources:
- Master: Coordinates all activities in the cluster. For example, scheduling applications, maintaining application state, scaling applications, and releasing new updates
- Node: A node is an instance of an operating system that acts as a worker in a Kubernetes cluster.
- Additionally, a Node has two components:
- Kubelet: An agent that manages and communicates with the master
- Tool (Docker/container): A tool for running container operations

It is designed as a loosely coupled set of containers that focuses on deploying, maintaining, and scaling workloads. Acts as an engine for resolving state by converging the actual state and the desired state of the system (self-healing). Hides from the underlying hardware of the nodes and provides a unified interface to the deployed workload and uses a shared resource pool (hardware) to simplify deployment.
Pod is the smallest unit of objects that can be deployed on Kubernetes, Kubernetes encapsulates one or more containers into a higher level structure called a pod.
PODs always run on a single node but they share some resources which can be a common volume, a unique IP of the cluster, information on how to run each container. All containers contained in a pod will be scheduled on an equivalent node.
Services are a unified way to access workloads across pods, the Control plane is the core of Kubernetes, it is an API server that allows you to query, manipulate the state of an object in Kubernetes.

The following image depicts the Kubernetes workflow from a high level, where a YAML file is used to describe the application, also known as a configuration file or specification, to be able to deploy applications packaged as pods in a cluster or node.
