This glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to K8s, as well as more general terms that provide useful context.
Filter terms according to their tags:
Click on the [+] indicators below to get a longer explanation for any particular term.
A key-value pair that is used to attach arbitrary non-identifying metadata to objects.
[+]The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.
A set of machines, called nodes, that run containerized applications managed by Kubernetes.
[+]A cluster has several worker nodes and at least one master node.
A lightweight and portable executable image that contains software and all of its dependencies.
[+]Containers decouple applications from underlying host infrastructure to make deployment easier in different cloud or OS environments, and for easier scaling.
Ensures a copy of a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. is running across a set of nodes in a ClusterA set of machines, called nodes, that run containerized applications managed by Kubernetes..
[+]Used to deploy system daemons such as log collectors and monitoring agents that typically must run on every NodeA node is a worker machine in Kubernetes..
An API object that manages a replicated application.
[+]Each replica is represented by a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster., and the Pods are distributed among the nodes of a cluster.
Stored instance of a container that holds a set of software needed to run an application.
[+]A way of packaging software that allows it to be stored in a container registry, pulled to a local system, and run as an application. Meta data is included in the image that can indicate what executable to run, who built it, and other information.
A command line tool for communicating with a Kubernetes APIThe application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster. server.
[+]You can use kubectl to create, inspect, update, and delete Kubernetes objects.
An agent that runs on each node in the cluster. It makes sure that containers are running in a pod.
[+]The kubelet takes a set of PodSpecs that are provided through various mechanisms and ensures that the containers described in those PodSpecs are running and healthy. The kubelet doesn’t manage containers which were not created by Kubernetes.
The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster.
[+]Kubernetes resources and “records of intent” are all stored as API objects, and modified via RESTful calls to the API. The API allows configuration to be managed in a declarative way. Users can interact with the Kubernetes API directly, or via tools like kubectl
. The core Kubernetes API is flexible and can also be extended to support custom resources.
Used to tag objects with identifying attributes that are meaningful and relevant to users.
[+]Labels are key/value pairs that are attached to objects, such as pods. They can be used to organize and to select subsets of objects.
A tool for running Kubernetes locally.
[+]Minikube runs a single-node cluster inside a VM on your computer.
An abstraction used by Kubernetes to support virtual clusters on the same physical ClusterA set of machines, called nodes, that run containerized applications managed by Kubernetes..
[+]Namespaces are used to organize objects in a cluster and provide a way to divide cluster resources. Names of resources need to be unique within a namespace, but not across namespaces.
A node is a worker machine in Kubernetes.
[+]A worker machine may be a VM or physical machine, depending on the cluster. It has the ServicesAn API object that describes how to access applications, such as a set of Pods, and can describe ports and load-balancers. necessary to run PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. and is managed by the master components. The ServicesAn API object that describes how to access applications, such as a set of Pods, and can describe ports and load-balancers. on a node include Docker, kubelet and kube-proxy.
The smallest and simplest Kubernetes object. A Pod represents a set of running containersA lightweight and portable executable image that contains software and all of its dependencies. on your cluster.
[+]A Pod is typically set up to run a single primary container. It can also run optional sidecar containers that add supplementary features like logging. Pods are commonly managed by a DeploymentAn API object that manages a replicated application..
Enables fine-grained authorization of PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. creation and updates.
[+]A cluster-level resource that controls security sensitive aspects of the Pod specification. The PodSecurityPolicy
objects define a set of conditions that a Pod must run with in order to be accepted into the system, as well as defaults for the related fields. Pod Security Policy control is implemented as an optional admission controller.
Manages authorization decisions, allowing admins to dynamically configure access policies through the Kubernetes APIThe application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster..
[+]RBAC utilizes roles, which contain permission rules, and role bindings, which grant the permissions defined in a role to a set of users.
Kubernetes service that ensures a specific number of instances of a pod are always running.
[+]Will automatically add or remove running instances of a pod, based on a set value for that pod. Allows the pod to return to the defined number of instances if pods are deleted or if too many are started by mistake.
Provides constraints that limit aggregate resource consumption per NamespaceAn abstraction used by Kubernetes to support virtual clusters on the same physical {% glossary_tooltip term_id=”cluster” %}..
[+]Limits the quantity of objects that can be created in a namespace by type, as well as the total amount of compute resources that may be consumed by resources in that project.
An API object that describes how to access applications, such as a set of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster., and can describe ports and load-balancers.
[+]The access point can be internal or external to the cluster.
Provides an identity for processes that run in a Pod PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster..
[+]When processes inside Pods access the cluster, they are authenticated by the API server as a particular service account, for example, default
. When you create a Pod, if you do not specify a service account, it is automatically assigned the default service account in the same namespace NamespaceAn abstraction used by Kubernetes to support virtual clusters on the same physical {% glossary_tooltip term_id=”cluster” %}..
A directory containing data, accessible to the containers in a podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster..
[+]A Kubernetes volume lives as long as the podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. that encloses it. Consequently, a volume outlives any containersA lightweight and portable executable image that contains software and all of its dependencies. that run within the podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster., and data is preserved across containerA lightweight and portable executable image that contains software and all of its dependencies. restarts.