Kubernetes AKA K8s is becoming a trending topic when it comes to DevOps, Systems Engineering and Cloud Technologies these days. The Kubernetes Basic Concepts are very essential to everyone who are interested in learning Kubernetes. Not only beginners but also for experts these are really important to deal with the Kubernetes in long term. It provides a unified way to manage containers across multiple hosts, automating many of the manual processes involved in deploying and scaling applications. Kubernetes is widely used by developers and operations teams alike, as it allows for the easy deployment and management of applications in a wide range of environments, from on-premises data centers to cloud-based infrastructure. For beginners, understanding the basic concepts of Kubernetes can be a daunting task, as it involves a wide range of technical terminology and complex workflows. However, with a basic understanding of the key concepts, anyone can get started with Kubernetes and begin to leverage its powerful capabilities.
Table of Contents
What is Kubernetes
Kubernetes is just a container orchestration technology used to orchestrate the deployments and management of hundreds of containers in clustered environments. There are multiple such technologies available in the industry today.
Examples:
- Docker swarm (from Docker)
- Kubernetes (from Google)
- MESOS (from Apache)
- OpenShift (from RedHat), etc…
What is Container Orchestration
automatically deploying and managing containers
What is a Node in Kubernetes
A node is a machine, it can be a physical or virtual node (machine) where Kubernetes is installed. We can see it is a worker machine where containers will be launched by kubernetes. Previously this was called as ‘minions’. What if the node on which your application is running fails? definitely, the applications running on this node will go down, right ?
So you need to have more than one node.
What is a cluster in Kubernetes?
A Cluster is a set of Kubernetes nodes grouped together. This way even if one node fails you have your application still running and available from the other nodes. And also having multiple nodes helps to share the load as well. The following illustration displays a Kubernetes cluster and components which we are going to talk about.
What is Master Node in Kubernetes
The Master node is another node which Kubernetes installed in it and is configured as a Master. we can summarize the basic master nodes’ responsibilities below,
- Managing and monitoring the nodes
- Store information about members of the cluster
- Moving the workload to another node when a node failed
The master watches over the nodes in the cluster and is responsible for the actual orchestration of containers on the worker nodes. The kube API is installed on master node and that makes a node as a master node
Kubernetes Components
When you install Kubernetes on a system, the following components will be installed in it.
- API Server
- etcd service
- kubelets service
- A Container Runtime
- Controllers
- Scheduler
What is the API Server in Kubernetes
The API server acts as the front end for Kubernetes. The users, management devices and command line interfaces talk to the API server to interact with the Kubernetes cluster.
What is etcd in Kubernetes?
This is a key value store and it is used by Kubernetes to store all data used to manage the cluster. When you have multiple nodes and multiple Masters in your cluster, etcd stores all that information on all the nodes in the cluster in a distributed manner. Also, etcd is responsible for implementing locks within the cluster to ensure that there are no conflicts between the master nodes
What is kuberlet in Kubernetes?
kuberlet agent that runs on each node of the cluster. The agent is responsible to ensure that the containers are running on the nodes as expected.
What is Container Runtime in Kubernetes?
This is the underline software used to run containers For example we can take docker, also there are other options as well.
What are the controllers in Kubernetes?
Controllers are responsible for detecting and responding when nodes or containers or endpoints went down. When this kind of thing happen controllers make decisions to bring up new containers.
What is the scheduler in Kubernetes?
The scheduler is distributing work or containers across multiple nodes. When new containers are spun up scheduler assigns them to the nodes.
Why Kubernetes Basic Concepts are Important for You.
If you are reading this article that means you have some interest in the subject, Knowing the basic concepts very well is the way to lay a strong foundation for you to manage and work with containers and orchestration.