More large enterprises than ever expect to adopt and implement Kubernetes in the coming years. Kubernetes facilitates decoupling applications and workloads from the underlying physical and virtual environment which hosts them.
This decoupling frees organizations to develop and/or deploy applications and workloads on-premises, in the cloud, or both. In an ideal world, they may then more freely move these applications and workloads between these two environments.
However, like with all new technologies, Kubernetes comes with its own set of challenges. Among them, it possesses its own jargon. To understand Kubernetes, it helps to first understand its common concepts and terms. The following list serves as a primer to define common concepts and terms that individuals will encounter when working with Kubernetes.
Common Kubernetes Concepts and Terms
Container. A lightweight, standalone, executable software package that includes all the code and its associated dependencies needed for an application to run.
Labels. The metadata assigned to any API object (container, node, pod, etc.) in Kubernetes. Labels are arbitrary names that identify and classify each object. Each object may possess one or more labels. Each label contains a key-value pair. A key may be BuildDate with a value of 01/01/2021. Kubernetes uses these labels to identify, manage, and organize objects.
Kube-scheduler. The default scheduler for Kubernetes that runs as part of its control plane.
Kubernetes. A system platform to deploy, scale, and manage containerized applications. It interfaces with the underlying hardware infrastructure to manage computing, networking, and storage resources. It automates container management by providing commands to deploy, monitor, and scale applications.
Kubernetes Cluster. A set of node machines for running containerized applications. A cluster minimally contains a control plane and one or more nodes. The control plane determines which applications run on which nodes in the cluster and when they run.
Node. A Kubernetes worker machine that may be either a physical or virtual machine. A node may consist of one or more pods. A node always contains a Kubelet that handles communication between the Kubenetes Master and the node. It also always contains a container runtime that pulls the container image from a registry, unpacks it, and runs the application.
Pod. A pod always runs on a node. It contains one or more containers and some shared resources for the containers in it. These resources include storage, networking, and information on how to run the container.
Kubernetes Master. A master node that controls and manages a set of worker nodes.
Service Discovery. Provided as a Kubernetes Service, it capitalizes on the labels and selectors to associate a service with a set of pods. Since a pod may only live a short time, a pod’s network resource allocations may change. The Service Discovery enables external applications to dynamically discover each pod and access it regardless of its life.
Every New Technology Demands a Primer
Reading a primer on concepts and terms associated with a new technology such as Kubernetes rarely gets anyone excited.
However, I got my start in writing professionally two decades ago by doing exactly that. Defining unfamiliar terms and concepts in my our words. One only begins to understand a new technology by defining and understanding the concepts and terms associated with it.
Kubernetes is no different. While Kubernetes contains new terms and phrases, they often resemble other technologies individuals may already use. A primer that helps map Kubernetes concepts and terms to familiar and understood ones go a long way toward making Kubernetes understandable and familiar as well.
Keep Up to Date with DCIG
To be notified of new DCIG articles, reports, and webinars, sign up for DCIG’s free weekly Newsletter.
Technology providers interested in licensing DCIG TOP 5 reports or having DCIG produce custom reports, please contact DCIG for more information.