Kubernetes enables developers and system administrators to quickly deploy applications and scale them to their requirements, without downtime. A Kubernetes system is highly configurable, and almost everything revolves around four important concepts: nodes, pods, deployments, and services.

Ready to dive into a Kubernetes implementation? Here are the key steps and Kubernetes commands to get started.

Learn the basics of Kubernetes architecture

First, it’s useful to understand the foundation of a Kubernetes system. The servers that run the containers — and the applications inside them — are called nodes. A master server controls manage and configures these node servers. The master also manages pods or a group of one or more containers that resides on nodes.

The master server acts as the control plane for the Kubernetes clusters. The main purpose of the various components in the control plane is to maintain a record of all Kubernetes objects and to continuously manage the desired state of the cluster by automatically responding to changes.

There are four major components of a control plane:

  1. Etcd. The most fundamental component of a Kubernetes cluster, etcd is a lightweight available configuration store. It can be set up across more than one Kubernetes node. Its main purpose is to store configuration data that are accessible to each node in the Kubernetes cluster.
  2. Kube-apiserver. This is a RESTful interface for command-line tools such as kubectl, providing them a way to interact with the Kubernetes cluster. In simpler terms, it serves as a management point for various tools to control and configure Kubernetes clusters through REST APIs.
  3. Kube-controller-manager. The primary role of this service is to maintain the state of a cluster, such as the number of replicas. If any variation in the desired state is observed, the kube-controller-manager runs required procedures to make sure that the desired state is met.
  4. Kube-scheduler. This component’s primary responsibility is to schedule cluster workloads based on configurations, resource requirements, and workload-specific requirements.

There are several components of node servers that make it possible for the master to work with them. These include:

  • Container runtime. To run applications encapsulated in a pod that exists on nodes, we need a lightweight, isolated operating environment: the container. A container runtime is a tool, such as Docker, to create, deploy, and run applications.
  • Kubelet. A kubelet is an agent or a service that is installed on nodes to communicate with and receive commands from the master node. It directs actions that need to be performed on the node, such as to create, scale, and delete containers.
  • Kube-proxy. This proxy service relays requests to the correct container and performs load balancing. Kube-proxy also performs host-level subnetting to ensure services are accessible to other components.

[Read More on TechTarget.com]

 

Optical Character Recognition

Author of “PowerShell Guide to Python“, “Windows Subsystem for Linux (WSL)” and currently writing the most awaited book: “PowerShell to C# and Back” !


Subscribe to our mailing list

* indicates required