Basics of Kubernetes architecture and components

A Kubernetes cluster is composed of a master node, which exposes the API, schedules deployments, and generally manages the cluster. Multiple worker nodes can be accountable for container runtimes, such as Docker or rkt, along with an agent that conveys with the master.

Master components

These master components comprise a master node:

·    Kube-API server — Exposes the API.

·    Etcd. Key-value stores all cluster data. (Can be run on the same server as a master node or a dedicated cluster.)

·    Kube-scheduler — Schedules new pods on worker nodes.

·    Kube-controller-manager — Runs the controllers.

·    Cloud-controller-manager — Talks to cloud providers.

Node components

• Kubelet – This agent makes sure that the containers in a pod are running.

• Kube-proxy – This keeps network rules and carries out forwarding.

• Container runtime – Runs containers.

What benefits does Kubernetes offer?

Kubernetes provides various salient features that permit us to run immutable infrastructure. Containers can be killed, replaced, and self-heal automatically, and the new container gets access to those hold-up volumes, secrets, configurations, and so on, which make it function.

The salient Kubernetes features make your containerized application scale efficiently:

Horizontal scaling – Using command line or UI, scale your application as needed

Automated rollouts and rollbacks – Roll-out changes ensure that all instances don’t fail or go down simultaneously, simply monitors the application health. If anything goes wrong, Kubernetes automatically rolls back the change.

• Service discovery and load balancing – Containers get their IP so that you can put a group of containers behind a single DNS name for load balancing.

• Storage orchestration – Automatically mount local or public cloud or network storage.

• Secret and configuration management – Create and update secrets and configs without rebuilding your image.

• Automatic bin-packing – Schedules containers based on requirements of resources and other constraints automatically.

• Batch execution – Handles your batch and continuous integration workloads and restore failed containers.