The Container Orchestration with Kubernetes

Nandhinidwaraka. S October 22, 12:30 PM Technology

Kubernetes orchestrates clusters of virtual machines and schedules containers to run on those virtual machines based on their available [1] compute resources and the resource requirements of each container. Containers are grouped figure1 shown below into pods, the basic operational unit for Kubernetes and those pods scale to your desired state.

Figure 1: Kubernetes

Kubernetes also automatically manages service discovery, incorporates load balancing, tracks resource allocation and scales based on compute utilisation. And, it checks the health of individual resources and enables apps to self-heal by automatically restarting or replicating containers.

Keeping containerised apps up and running can be complex because they often involve many containers deployed across different machines. Kubernetes provides a way to schedule and deploy those containers—plus scale them to your desired state and manage their lifecycles. Use Kubernetes to implement your container-based applications in a portable, scalable and extensible way.

Containers are lightweight, executable application components that combine application source code with all the [2] operating system (OS) libraries and dependencies required to run the code in any environment.

Containers take advantage of a form of operating system (OS) virtualization that lets multiple applications share a single instance of an OS by isolating processes and controlling the amount of CPU, memory, and disk those processes can access. Because they are smaller, more resource-efficient and more portable than virtual machines (VMs), containers have become the de facto compute units of modern cloud-native applications.

While other container orchestration options — most notably Docker Swarm and Apache Mesos — gained some traction early on, Kubernetes quickly became the most widely adopted (in fact, at one point, it was the fastest-growing project in the history of open source software).

Developers chose and continue to choose Kubernetes for its breadth of functionality, its vast and growing ecosystem of open source supporting tools, and its support and portability across cloud service providers.

Functions Of Kubernetes

  • Orchestrate containers across multiple hosts. [3]
  • Make better use of hardware to maximize resources needed to run your enterprise apps.
  • Control and automate application deployments and updates.
  • Mount and add storage to run stateful apps.
  • Scale containerized applications and their resources on the fly.
  • Declaratively manage services, which guarantees the deployed applications are always running the way you intended them to run.
  • Health-check and self-heal your apps with autoplacement, autorestart, autoreplication, and autoscaling.
References:
  1. https://azure.microsoft.com/en-in/topic/what-is-kubernetes/
  2. https://www.ibm.com/cloud/learn/kubernetes
  3. https://www.redhat.com/en/topics/containers/what-is-kubernetes
Cite this article:

Nandhinidwaraka. S (2021), The Container Orchestration with Kubernetes, Anatechmaz, pp. 68

Recent Post

Blog Archive