KUBERNETES OVERVIEW

Kubernetes (also known as K8s) is a lightweight, extensible, open-source architecture for managing containerized workloads and utilities, which enables both declarative setup and automation. It has a big, fast-growing ecosystem. Kubernet's programs, assistance and software are readily accessible. There are three reason, why Kubernetes is so useful by going back in time, which are Traditional deployment era, Virtualized deployment era, and Container deployment era.


Kubernetes VS Docker

The basic distinction between Kubernetes and Docker is that Kubernetes is intended to run through a cluster when Docker is operating on a single node. Kubernetes is more comprehensive than Docker Swarm and is structured to organize clusters of nodes on a scale of development in an effective manner. Kubernetes pods—scheduling units that can include one or more containers in the Kubernetes ecosystem—are spread between nodes to provide high availability.


Kubernetes Advantages


See the table below, Picture Explanations

Traditional deployment era Organizations ran applications on physical servers. There was no way to define resource boundaries for applications in a physical server, and this caused resource allocation issues.
Virtualized deployment era Virtualization allows applications to be isolated between VMs and provides a level of security as the information of one application cannot be freely accessed by another application.
Container deployment era Containers are similar to VMs, but they have relaxed isolation properties to share the Operating System (OS) among the applications. Therefore, containers are considered lightweigh.

Kubernetes Features

See the feature of kubernetes below,

  • Automated rollouts and rollbacks

    Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn't kill all your instances at the same time

  • Service discovery and load balancing

    Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them.

  • Storage orchestration

    Automatically mount the storage system of your choice, whether from local storage, a public cloud provider such as GCP or AWS, or a network storage system such as NFS, iSCSI, Gluster, Ceph, Cinder, or Flocker.

  • Horizontal scaling

    Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.