Glossary
Learn about some of the most common Kubernetes-related terms used in the course.
We'll cover the following...
Terminology
This glossary defines some of the most common Kubernetes-related terms used in the course.
Term: Definition
API Server: This is part of the Kubernetes control plane and runs on all control-plane nodes. All communication with Kubernetes and kubectl commands and responses go through the API Server.
Container: A conainer is application and dependencies packaged to run on Docker or Kubernetes. As well as application stuff, every container is an isolated virtual operating system with its own process tree, filesystem, shared memory, and more.
Cloud-native: An application that can self-heal, scale on-demand, and can perform rolling updates and rollbacks. They’re usually microservices apps and run on Kubernetes.
Container runtime: Low-level software running on every Kubernetes worker node. Responsible for pulling container images and starting and stopping containers. The most famous container runtime is Docker, however, containerd is now the most popular container runtime used by Kubernetes.
Controller: Control plane process running as a reconciliation loop monitoring the cluster and ensuring the observed state of the cluster matches desired state.
Control plane node: Cluster node running control plane services. The brains of a Kubernetes cluster. You should deploy three or five for high availability.
Cluster store: Part of the control plane that holds the state of the cluster and apps.
Deployment: Controller that deploys and manages a set of stateless Pods. Performs rolling updates and rollbacks and can self-heal from Pod failures.
Desired state: What the cluster and apps should be like. For example, an application’s desired state might be five replicas of xyz container listening on port 8080/tcp.
K8s: Shorthand way to write Kubernetes. The “8” replaces the eight characters in Kubernetes between the “K” and the “s”. Pronounced “Kates”.
kubectl: Kubernetes command line tool. Sends commands to the API Server and queries state via the API Server.
Kubelet: The main Kubernetes agent running on every cluster node. It watches the API Server for new work assignments and maintains a reporting channel back.
Label: Metadata applied to objects for grouping. For example, Services send traffic to Pods based on matching labels.
Manifest file: YAML file that holds the configuration of one or more Kubernetes objects. For example, a Service manifest file is typically a YAML file that holds the configuration of a Service object. When you post a manifest file to the API Server, its configuration is deployed to the cluster.
Microservices: A design pattern for modern applications. Application features are broken into their own small applications (microservices/containers) and communicate via APIs. They work together to form a useful application.
Node: Also known as worker node. The nodes in a cluster that run user applications. Must run the kubelet process and a container runtime.
Observed state: Also known as current state or actual state. The most up-to-date view of the cluster and running applications.
Orchestrator: Software that deploys and manages microservices apps. Kubernetes is the most popular orchestrator of microservices apps.
Pod: A thin wrapper that enables containers to run on Kubernetes. Defined in a YAML file. The smallest unit of deployment on a Kubernetes cluster.
Reconciliation loop: A controller process watching the state of the cluster via the API Server, ensuring observed state matches desired state. The Deployment controller runs as a reconciliation loop.
Service: Capital “S”. Kubernetes object for providing network access to apps running in Pods. Can integrate with cloud platforms and provision internet-facing load balancers.
YAML: Yet Another Markup Language. Kubernetes configuration files are written in YAML.