Kubernetes brief intro

Kubernetes brief intro

Kubernetes is a free-source software that allows you to place and manage containerized applications at scale. it is an Ubuntu based platform. It is used most commonly together with Docker for better control of containerized applications.

Explanation of components/ terms :

NODES —

A node is the smallest unit of hardware in Kubernetes. It is a representation of a single machine in the cluster. A node is a physical machine in a data center or virtual machine hosted on a cloud, like Google Cloud Platform.

CLUSTER —

Kubernetes does not work with individual nodes; it works with the entire cluster. Nodes combine their resources to form a powerful machine known as a cluster. When a node is added or removed, the cluster shifts around the work as necessary.

PERSISTENT VOLUME —

To store data permanently, Kubernetes uses persistent volumes. Nodes combine their resources to form a powerful machine known as a cluster. When a node is added or removed, the cluster shifts around the work as necessary.

CONTAINERS —

is a lightweight, executable unit of software that packs up application code and dependencies such as binary code, libraries, and configuration files for easy deployment across different computing environments.

PODS —

A pod represents a group of one or more application containers bundled up together and is highly scalable. If a pod fails, Kubernetes automatically deploys new replicas of the pod to the cluster. Pods provide two different types of shared resources: networking and storage. Kubernetes manages the pods rather than the containers directly. Pods are the units of replication in Kubernetes.

DEPLOYMENT —

Pods cannot be launched on a cluster directly; instead, they are managed by one more layer of abstraction: the deployment. A deployment’s fundamental purpose is to indicate how many pods are running simultaneously. The manual management of pods is eradicated when deployment is used.

MASTER NODE —

It is the central controlling unit of Kubernetes and manages workload and communications across the clusters. It has the following components, with each one having its process.

ETCD — stores the configuration details, communicates with all other components to receive the commands and works to perform an action. It also manages network rules and posts forwarding activity.

Controller Manager — is responsible for most of the controllers and performs a task, The key controllers handle nodes and endpoints. It is a daemon that runs in a continuous loop and is responsible for collecting and sending information to the API server.

Scheduler — is responsible for workload distribution, utilization and allocating the pod to a new node.

API Server — Kubernetes uses the API server to perform all operations on the cluster, It is a central management entity that receives all REST requests for modifications, serving as a frontend to the cluster.

Kubectl — controls the Kubernetes cluster manager.

SLAVE NODE — The slave node contains the following components:

  • pods

  • docker

  • Kubelet

  • kubernetes proxy

You might want to get started with installation (here)