Total Pageviews

Wednesday, 27 July 2022

Getting started with Kubernetes

Wanted to be back with a Bang, so chose the hottest topic - KUBERNETES 

Name and Origin:

     """Regular online stuff..."""

             It is a Greek word, meaning helmsman or pilot. "Kubernetes" word has letters between the start and ending characters which is why also called K8s. Kubernetes currently is an open-source project originally designed by Google.

Why not just Containers, what is the need for an Orchestration tool?

             We all know Docker containers help to easily build an application just with the help of a packaged image. We can run the containers simply on a VM. Limitations related to running multiple containers (containerized applications) on a VM led to the raise of Orchestration tools. 

Limitations like resources being used by a single container, handling unexpected container restarts, scaling the number of instances of an application, and deploying the configuration changes without downtime.

Kubernetes is one such container orchestration system that helps to easily scale the instances, automate the deployment process and efficiently distribute the resources among the available workloads.

Dockers vs Kubernetes

Docker is a containerized application.

Kubernetes is an Orchestration tool to manage such containerized applications.

Kubernetes Terminology

Namespace

                Within a cluster, Kubernetes Namespace helps us to identify or isolate the set of resources for an application or a project, or a team. The namespace is simply for grouping a set of workloads, services, and resources related to a particular application.

Workload

                 A Workload is simply an application or a component of an application running in a Namespace.

Pod

               """Bookish definition...""'

                A pod is one of the smallest deployable/execution unit in Kubernetes. A pod contains one or more containers. Containers within the pod shares the storage and network resources of a pod.

Container

                A container is the deployed version of the packaged image. It is the software package that we build and deploy to containerize an application. It is immutable, which means once a container is in a running state we cannot make any configuration changes. If we want to make some changes, that needs to be build and the new image is to be deployed.

GIST:

A namespace is a collection of Workloads related to an application, Workloads is a collection of multiple pods, and Pod is a collection of containers that are nothing but multiple packaged software deployments.

Helm

                Helm is simply for the package management in Kubernetes. In simple words, Helm is the equivalent of Yum and Apt for K8s. Kubernetes includes a set of helm charts, that helps to deploy a packaged application.

Tiller

                Tiller is the server portion of the Helm, it runs within the Kubernetes cluster. Going forward in helm3, Tiller is no longer included. It is been deprecated, helm client interacts directly with the Kubernetes API for helm charts deployments.

Loading soon....

Kubernetes Components

kubelet

kubeadm

kubectl


No comments:

Post a Comment