Introduction to Kubernetes
Get introduced to Kubernetes and its features.
We'll cover the following
What is Kubernetes?
“Kubernetes” is a Greek word that means “helmsman” or captain of a ship. The Kubernetes logo represents the helmsman wheel (steering of the ship). Kubernetes is also referred to as K8s. If we look carefully, there are eight characters between “K” and “s,” leading to the name K8s.
Kubernetes was initially developed by Google and later donated to Cloud-Native Computing Foundation, also known as CNCF. Currently, it’s managed by CNCF. It’s open-source software written in Golang.
A single container can’t accomplish our entire demands in the real world. The large organizations have a greater architecture with hundreds of containers in order to ensure availability, load balancing, and the ability to scale up and down based on user load.
Kubernetes is an open-source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications. In other words, we can cluster together a group of hosts running containers. Kubernetes will help us to easily and efficiently manage that cluster.
Let’s see some important details about Kubernetes:
- Kubernetes will not launch applications on its own. It only helps the containers to launch the applications.
- It doesn’t use containers directly. instead, it wraps the container in a box named Pod. The Pod is the container with some extra information or metadata. This data is used by Kubernetes itself while managing the resources.
We need infrastructure that manages our applications and respective resources to deploy our applications. If our application runs on container technology, what if the container fails? There is no way to restore our application state. So to manage and monitor the container, we need some tools. Kubernetes is one of those tools.
Kubernetes provides all these facilities and is therefore known as a container management tool. The stable version of Kubernetes is v1.20.
Pods and nodes
In Kubernetes, we don’t interact with the containers directly. The containers are wrapped inside a functional unit named Pod. A Pod can have one or more containers. Pods are packed inside nodes. Nodes can have single or multiple Pods.
A Pod contains the following:
- An application container (in some cases, more than one container)
- Storage resources
- A unique network IP
kubectl
kubectl manages the Kubernetes cluster. It has the capability to manage nodes on the cluster. Using kubectl commands, we can interact and manage Kubernetes objects and the cluster.
Basic kubectl commands
Command | Use |
kubectl version | The version of kubectl |
kubectl cluster-info | The endpoint information about the master and services in the cluster |
kubectl get namespaces | The list of all namespaces |
kubectl get pods | The list of all Pods |
kubectl get nodes | The list of all nodes |
kubectl get rc | The list of all replication controllers |
Let’s try out some basic kubectl commands.