The most popular buzzword of this era is Kubernetes, also called as K8’s. Kubernetes is an open-source system for automating deployment, scaling and management of containerized applications. How did kubernetes come in picture?
The concept of containerization states that it is a lightweight alternative to a virtual machine that involves encapsulating an application in a container with its own operating system. OR A container is a mini-virtual machine. It is small, as it does not have device drivers and all the other components of a regular virtual machine. Docker is the most popular container.
Now, there is an inherent problem with containers, just like there is with virtual machines. Here is the need to automatically spin up more containers when a machine needs more memory, CPU, or storage, as well as shut them down when the load lightens. So Orchestration tackles these problems. This is where Kubernetes comes into picture. Kubernetes is open source, giving the freedom to take advantage of on-premises, hybrid or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you.
The name Kubernetes originates from Greek, meaning helmsman or pilot, and is the root of governor and cybernetic. K8s is an abbreviation derived by replacing the 8 letters ‘ubernete’ with ‘8’.
The Old Way to deploy applications was to install the applications on a host using the operating-system package manager. This had the disadvantage of entangling the applications’ executables, configuration, libraries and life cycles with each other and with the host OS.
The New Way is to deploy containers based on operating-system-level virtualization rather than hardware virtualization. These containers are isolated from each other and from the host and they have their own file systems, they can’t see each others’ processes and their computational resource usage can be bounded.
Because containers are small and fast, one application can be packed in each container image. Some other Containers benefits are:
Agile application creation and deployment.
Dev and Ops separation of concerns and Observability.
Resource isolation and utilization.
Loosely coupled, distributed, elastic & liberated micro-services.
Environmental consistency across development, testing, and production.
Google open-sourced the Kubernetes project in 2014. It has a large, rapidly growing ecosystem. It provides a container-centric management environment. It orchestrates computing, networking, and storage infrastructure on behalf of user workloads.
K8’s master components provide the cluster’s control plane. Master components make global decisions about the cluster and detecting and responding to cluster events. Whereas, K8’s node components run on every node, maintaining running pods and providing the Kubernetes runtime environment.
For any query write to me at firstname.lastname@example.org. Stay tuned for next article on Kubernetes.