Skip to main content

Kubernetes Temp

This document assumes an understanding of Docker. Please start there first if you are new to containerization.


What is Kubernetes?

"Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation." Okay... but what does that actually mean? This document intends to answer that question by providing an overview of Kubernetes, how it fits into a system architecture, and some basics commands for working with it.

Key Terminology

Kubernetes Official Docs tells us that Kubernetes is the Greek word for Helmsman or Pilot. Google Cloud translates it as Captain. The key idea is that, just as a captain is responsible for safely navigating a ship through the seas, Kubernetes ensures that containers are delivered reliably to the environments where they’re needed. It’s a poetic analogy—and it's also our first clue that we might not be able to immediately infer meaning from most of the terminology we are about to encounter. That's where our terminology table comes in.

TerminologyDefinition
K8sAn abbreviation of `Kubernetes'. Pronounced "Kates".
kubectlIs the commandline tool used to interact with a Kubernetes cluster. Pronounced "cube control".
kube-proxyA networking component that runs on each node. It manages network communication for services and forwards traffic to the correct pods, handling things like load balancing and routing inside the cluster.
kubeletAn agent that runs on every node. It communicates with the Kubernetes control plane and ensures that the containers defined in your Pod specs are running and healthy on that node.
nodeA worker machine in Kubernetes, which can be a physical server or a virtual machine. Each node runs pods and contains the services needed to manage them, like kubelet, kube-proxy, and a container runtime (e.g., Docker).
podThe smallest deployable unit in Kubernetes. A pod represents one or more containers that share the same network IP, storage, and configuration. All containers in a pod are scheduled and run together.
clusterA group of nodes managed by Kubernetes. It includes at least one control plane (which makes decisions) and multiple worker nodes (which run your applications).
NamespaceA logical partition inside a Kubernetes cluster. Namespaces let you group and isolate resources for different teams, projects, or environments (like dev/test/prod) within the same cluster.
VolumeA persistent storage resource that can be attached to a pod.
EtcdA key-value store used as Kubernetes’ backing database. It stores all configuration data, including the current state of the cluster, node and pod metadata, and secrets.
Kubernetes SchedulerA control-plane component that watches for new pods that need to be placed (scheduled) on nodes. It chooses a suitable node based on resource availability, policies, taints / tolerations, and other constraints.
IngressAn API object that manages external HTTP and HTTPS access to services inside the cluster. It defines routing rules (e.g., based on hostnames or paths) and often includes features like SSL termination and load balancing.
Control PlaneThe management layer that makes global decisions about the cluster, such as scheduling workloads and responding to events-ensuring the cluster operates as intended.

A Full Glossary of terms is provided in the Official Kubernetes Docs.