Стандартизированный глоссарий
Данный глоссарий должен стать исчерпывающим стандартизированным списком терминологии в Kubernetes. Он включает технические термины, специфичные для K8s, а также более общие термины, которые полезно знать.
Фильтрация терминов по тегам
Нажмите на значок [+] для получения более подробное объяснения по интересующему термину.
-
Annotation
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 labelsTags objects with identifying attributes that are meaningful and relevant to users. . Clients such as tools and libraries can retrieve this metadata.
-
API Group
A set of related paths in Kubernetes API.
[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the
apiVersion
field of a serialized object.- Read API Group for more information.
-
API-серверТакже известный как:kube-apiserver
Сервер API — компонент Kubernetes панели управленияУровень оркестрации контейнеров с API и интерфейсами для определения, развёртывания и управления жизненным циклом контейнеров. , который представляет API Kubernetes. API-сервер — это клиентская часть панели управления Kubernetes
[+]Основной реализацией API-сервера Kubernetes является kube-apiserver. kube-apiserver предназначен для горизонтального масштабирования, то есть развёртывание на несколько экземпляров. Вы можете запустить несколько экземпляров kube-apiserver и сбалансировать трафик между этими экземплярами.
-
ApplicationsThe layer where various containerized applications run. [+]
The layer where various containerized applications run.
-
cgroup (control group)
A group of Linux processes with optional resource isolation, accounting and limits.
[+]cgroup is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network) for a collection of processes.
-
Container Environment Variables
Container environment variables are name=value pairs that provide useful information into containers running in a podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster.
[+]Container environment variables provide information that is required by the running containerized applications along with information about important resources to the containersA lightweight and portable executable image that contains software and all of its dependencies. . For example, file system details, information about the container itself, and other cluster resources such as service endpoints.
-
Controller
In Kubernetes, controllers are control loops that watch the state of your clusterA set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. , then make or request changes where needed. Each controller tries to move the current cluster state closer to the desired state.
[+]Controllers watch the shared state of your cluster through the apiserverControl plane component that serves the Kubernetes API. (part of the Control PlaneThe container orchestration layer that exposes the API and interfaces to define, deploy, and manage the lifecycle of containers. ).
Some controllers also run inside the control plane, providing control loops that are core to Kubernetes’ operations. For example: the deployment controller, the daemonset controller, the namespace controller, and the persistent volume controller (and others) all run within the kube-controller-managerControl Plane component that runs controller processes. .
-
CustomResourceDefinition
Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.
[+]Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can’t meet your needs.
-
DaemonSet
Гарантирует, что копия PodСамый маленький и простой объект в Kubernetes. Под — это набор запущенных контейнеров в кластере. выполняется в наборе узлов кластераНабор машин, так называемые узлы, которые запускают контейнеризированные приложения. Кластер имеет как минимум один рабочий узел. .
[+]Используется для развертывания системных демонов, таких как сборщики логов и агенты мониторинга, которые, как правило, должны работать на каждом узлаУзел — рабочая машина в Kubernetes. .
-
Data PlaneThe layer that provides capacity such as CPU, memory, network, and storage so that the containers can run and connect to a network. [+]
The layer that provides capacity such as CPU, memory, network, and storage so that the containers can run and connect to a network.
-
Deployment
API-объект, управляющий реплицированным приложением.
[+]Каждая реплика представляет PodСамый маленький и простой объект в Kubernetes. Под — это набор запущенных контейнеров в кластере. , а все Pod-объекты распределяются по узлам кластера.
-
Device Plugin
Device plugins run on worker NodesA node is a worker machine in Kubernetes. and provide Pods The smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. with access to resources, such as local hardware, that require vendor-specific initialization or setup steps.
[+]Device plugins advertise resources to the kubeletAn agent that runs on each node in the cluster. It makes sure that containers are running in a pod. , so that workload Pods can access hardware features that relate to the Node where that Pod is running. You can deploy a device plugin as a DaemonSetEnsures a copy of a Pod is running across a set of nodes in a cluster. , or install the device plugin software directly on each target Node.
See Device Plugins for more information.
-
Disruption
Disruptions are events that lead to one or more PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. going out of service. A disruption has consequences for workload resources, such as DeploymentAn API object that manages a replicated application. , that rely on the affected Pods.
[+]If you, as cluster operator, destroy a Pod that belongs to an application, Kubernetes terms that a voluntary disruption. If a Pod goes offline because of a Node failure, or an outage affecting a wider failure zone, Kubernetes terms that an involuntary disruption.
See Disruptions for more information.
-
Docker
Docker (в частности, Docker Engine) — это программное обеспечение для виртуализации на уровне операционной системы, которая также известна как контейнеризацияПереносимый и не требовательный к ресурсам исполняемый экземпляр образа, содержащий приложение вместе со всеми его зависимостями. .
[+]Docker использует возможности изоляции ресурсов ядра Linux, такие как cgroups и пространства имен ядра, а также каскадно-объединённую файловую систему, например, OverlayFS и другие, чтобы независимые друг от друга контейнеры могли работать в одном экземпляре Linux без накладных расходов на запуск и поддержку работы виртуальных машин (VM).
-
Ephemeral Container
A ContainerA lightweight and portable executable image that contains software and all of its dependencies. type that you can temporarily run inside a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]If you want to investigate a Pod that’s running with problems, you can add an ephemeral container to that Pod and carry out diagnostics. Ephemeral containers have no resource or scheduling guarantees, and you should not use them to run any part of the workload itself.
-
Extensions
Extensions are software components that extend and deeply integrate with Kubernetes to support new types of hardware.
[+]Most cluster administrators will use a hosted or distribution instance of Kubernetes. As a result, most Kubernetes users will need to install extensions and fewer will need to author new ones.
-
Image
Stored instance of a ContainerA lightweight and portable executable image that contains software and all of its dependencies. 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.
-
Init Container
One or more initialization containersA lightweight and portable executable image that contains software and all of its dependencies. that must run to completion before any app containers run.
[+]Initialization (init) containers are like regular app containers, with one difference: init containers must run to completion before any app containers can start. Init containers run in series: each init container must run to completion before the next init container begins.
-
Job
A finite or batch task that runs to completion.
[+]Creates one or more PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. objects and ensures that a specified number of them successfully terminate. As Pods successfully complete, the Job tracks the successful completions.
-
kube-controller-manager
Компонент Control Plane запускает процессы контроллераA control loop that watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state. .
[+]Вполне логично, что каждый контроллерA control loop that watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state. в свою очередь представляет собой отдельный процесс, и для упрощения все такие процессы скомпилированы в один двоичный файл и выполняются в одном процессе.
-
kube-proxy
kube-proxy — сетевой прокси, работающий на каждом узле в кластере, и реализующий часть концепции сервисСпособ представления приложения, запущенного в наборе подов, в виде сетевого сервиса. .
[+]kube-proxy конфигурирует правила сети на узлах. При помощи них разрешаются сетевые подключения к вашими подам изнутри и снаружи кластера.
kube-proxy использует уровень фильтрации пакетов в операционной системы, если он доступен. В противном случае, kube-proxy сам обрабатывает передачу сетевого трафика.
-
Kubectl
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.
-
Kubelet
Агент, работающий на каждом узле в кластере. Он следит за тем, чтобы контейнеры были запущены в поде.
[+]Утилита kubelet принимает набор PodSpecs, и гарантирует работоспособность и исправность определённых в них контейнеров. Агент kubelet не отвечает за контейнеры, не созданные Kubernetes.
-
Kubernetes API
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. -
LimitRange
Provides constraints to limit resource consumption per ContainersA lightweight and portable executable image that contains software and all of its dependencies. or PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. in a namespace.
[+]LimitRange limits the quantity of objects that can be created by type, as well as the amount of compute resources that may be requested/consumed by individual ContainersA lightweight and portable executable image that contains software and all of its dependencies. or PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. in a namespace.
-
Logging
Logs are the list of events that are logged by clusterA set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. or application.
[+]Application and systems logs can help you understand what is happening inside your cluster. The logs are particularly useful for debugging problems and monitoring cluster activity.
-
Manifest
Specification of a Kubernetes API object in JSON or YAML format.
[+]A manifest specifies the desired state of an object that Kubernetes will maintain when you apply the manifest. Each configuration file can contain multiple manifests.
-
Minikube
A tool for running Kubernetes locally.
[+]Minikube runs a single-node cluster inside a VM on your computer. You can use Minikube to try Kubernetes in a learning environment.
-
Mirror Pod
A podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. object that a kubelet uses to represent a static podA pod managed directly by the kubelet daemon on a specific node.
[+]When the kubelet finds a static pod in its configuration, it automatically tries to create a Pod object on the Kubernetes API server for it. This means that the pod will be visible on the API server, but cannot be controlled from there.
(For example, removing a mirror pod will not stop the kubelet daemon from running it).
-
Name
A client-provided string that refers to an object in a resource URL, such as
[+]/api/v1/pods/some-name
.Only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name.
-
Namespace
An abstraction used by Kubernetes to support multiple virtual clusters on the same physical clusterA set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. .
[+]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.
-
Node
Узел — рабочая машина в Kubernetes.
[+]Рабочий узел может быть как виртуальной, так и физической машиной, в зависимости от кластера. У него есть локальные демоны или сервисы, необходимые для запуска подовСамый маленький и простой объект в Kubernetes. Под — это набор запущенных контейнеров в кластере. , а сам он управляется плоскостью управления. Демоны на узле включают в себя kubeletАгент, работающий на каждом узле в кластере. Он следит за тем, чтобы контейнеры были запущены в поде. , kube-proxykube-proxy — сетевой прокси, работающий на каждом узле в кластере. и среду выполнения контейнера, основанную на CRIAPI сред выполнения контейнеров для интеграции с kubelet , например DockerDocker — это программное обеспечение для виртуализации на уровне операционной системы, которая известна как контейнеризация. .
-
Pod
Самый маленький и простой объект в Kubernetes. Объект Pod — набор запущенных контейнеровПереносимый и не требовательный к ресурсам исполняемый экземпляр образа, содержащий приложение вместе со всеми его зависимостями. в кластере.
[+]Как правило, один под предназначен для выполнения одного основного контейнера. Он также может запускать дополнительные “прицепные” (sidecar) контейнеры, добавляющие новые функциональные возможности, например, логирование. Контейнеры обычно управляются DeploymentAPI-объект, управляющий реплицированным приложением. .
-
Pod Lifecycle
The sequence of states through which a Pod passes during its lifetime.
[+]The Pod Lifecycle is defined by the states or phases of a Pod. There are five possible Pod phases: Pending, Running, Succeeded, Failed, and Unknown. A high-level description of the Pod state is summarized in the PodStatus
phase
field. -
Pod Security Policy
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. -
QoS Class
QoS Class (Quality of Service Class) provides a way for Kubernetes to classify Pods within the cluster into several classes and make decisions about scheduling and eviction.
[+]QoS Class of a Pod is set at creation time based on its compute resources requests and limits settings. QoS classes are used to make decisions about Pods scheduling and eviction. Kubernetes can assign one of the following QoS classes to a Pod:
Guaranteed
,Burstable
orBestEffort
. -
RBAC (Role-Based Access Control)
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.
-
ReplicaSet
A ReplicaSet (aims to) maintain a set of replica Pods running at any given time.
[+]Workload objects such as DeploymentAn API object that manages a replicated application. make use of ReplicaSets to ensure that the configured number of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. are running in your cluster, based on the spec of that ReplicaSet.
-
Resource Quotas
Provides constraints that limit aggregate resource consumption per NamespaceAn abstraction used by Kubernetes to support multiple virtual clusters on the same physical 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.
-
Service Account
Provides an identity for processes that run in a PodThe 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 NamespaceAn abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster. . -
shuffle sharding
A technique for assigning requests to queues that provides better isolation than hashing modulo the number of queues.
[+]We are often concerned with insulating different flows of requests from each other, so that a high-intensity flow does not crowd out low-intensity flows. A simple way to put requests into queues is to hash some characteristics of the request, modulo the number of queues, to get the index of the queue to use. The hash function uses as input characteristics of the request that align with flows. For example, in the Internet this is often the 5-tuple of source and destination address, protocol, and source and destination port.
That simple hash-based scheme has the property that any high-intensity flow will crowd out all the low-intensity flows that hash to the same queue. Providing good insulation for a large number of flows requires a large number of queues, which is problematic. Shuffle sharding is a more nimble technique that can do a better job of insulating the low-intensity flows from the high-intensity flows. The terminology of shuffle sharding uses the metaphor of dealing a hand from a deck of cards; each queue is a metaphorical card. The shuffle sharding technique starts with hashing the flow-identifying characteristics of the request, to produce a hash value with dozens or more of bits. Then the hash value is used as a source of entropy to shuffle the deck and deal a hand of cards (queues). All the dealt queues are examined, and the request is put into one of the examined queues with the shortest length. With a modest hand size, it does not cost much to examine all the dealt cards and a given low-intensity flow has a good chance to dodge the effects of a given high-intensity flow. With a large hand size it is expensive to examine the dealt queues and more difficult for the low-intensity flows to dodge the collective effects of a set of high-intensity flows. Thus, the hand size should be chosen judiciously.
-
StatefulSet
Manages the deployment and scaling of a set of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. , and provides guarantees about the ordering and uniqueness of these Pods.
[+]Like a DeploymentAn API object that manages a replicated application. , a StatefulSet manages Pods that are based on an identical container spec. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. These pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling.
-
Static Pod
A podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. managed directly by the kubelet daemon on a specific node,
[+]without the API server observing it.
-
Taint
A core object consisting of three required properties: key, value, and effect. Taints prevent the scheduling of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. on nodesA node is a worker machine in Kubernetes. or node groups.
[+]Taints and tolerationsA core object consisting of three required properties: key, value, and effect. Tolerations enable the scheduling of pods on nodes or node groups that have a matching taint. work together to ensure that pods are not scheduled onto inappropriate nodes. One or more taints are applied to a node. A node should only schedule a Pod with the matching tolerations for the configured taints.
-
Toleration
A core object consisting of three required properties: key, value, and effect. Tolerations enable the scheduling of pods on nodes or node groups that have matching taintsA core object consisting of three required properties: key, value, and effect. Taints prevent the scheduling of pods on nodes or node groups. .
[+]Tolerations and taintsA core object consisting of three required properties: key, value, and effect. Taints prevent the scheduling of pods on nodes or node groups. work together to ensure that pods are not scheduled onto inappropriate nodes. One or more tolerations are applied to a podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. . A toleration indicates that the podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. is allowed (but not required) to be scheduled on nodes or node groups with matching taintsA core object consisting of three required properties: key, value, and effect. Taints prevent the scheduling of pods on nodes or node groups. .
-
UID
A Kubernetes systems-generated string to uniquely identify objects.
[+]Every object created over the whole lifetime of a Kubernetes cluster has a distinct UID. It is intended to distinguish between historical occurrences of similar entities.
-
Volume
A directory containing data, accessible to the containersA lightweight and portable executable image that contains software and all of its dependencies. 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 Pod that encloses it. Consequently, a volume outlives any containers that run within the Pod, and data in the volume is preserved across container restarts.
See storage for more information.
-
Workload
A workload is an application running on Kubernetes.
[+]Various core objects that represent different types or parts of a workload include the DaemonSet, Deployment, Job, ReplicaSet, and StatefulSet objects.
For example, a workload that has a web server and a database might run the database in one StatefulSetManages the deployment and scaling of a set of Pods, and provides guarantees about the ordering and uniqueness of these Pods. and the web server in a DeploymentAn API object that manages a replicated application. .
-
Кластер
Набор машин, так называемые узлы, которые запускают контейнеризированные приложения. Кластер имеет как минимум один рабочий узел.
[+]В рабочих узлах размещены поды, являющиеся компонентами приложения. Плоскость управления управляет рабочими узлами и подами в кластере. В промышленных средах плоскость управления обычно запускается на нескольких компьютерах, а кластер, как правило, развёртывается на нескольких узлах, гарантируя отказоустойчивость и высокую надёжность.
-
Контейнер
Переносимый и не требовательный к ресурсам исполняемый экземпляр образа, содержащий приложение вместе со всеми его зависимостями.
[+]Контейнеры изолирует приложения от инфраструктуры хост-машины, чтобы обеспечить простое масштабирование и упростить развёртывание в различных средах облачных платформ или операционных систем.
-
Метка
Группирует объекты на основе произвольных критериев, по которым пользователи могут их идентифицировать.
[+]Метки — это пары “ключ-значение”, которые прикрепляются к таким объектам, как PodСамый маленький и простой объект в Kubernetes. Под — это набор запущенных контейнеров в кластере. . Они используются для организации и получения подмножеств объектов.
-
Плоскость управления (Control Plane)Уровень оркестрации контейнеров с API и интерфейсами для определения, развёртывания и управления жизненным циклом контейнеров. [+]
Уровень оркестрации контейнеров с API и интерфейсами для определения, развёртывания и управления жизненным циклом контейнеров.
-
Селектор
Позволяет пользователям фильтровать список ресурсов по меткам.
[+]Селекторы применяются при создании запросов для фильтрации списков ресурсов по меткамГруппирует объекты на основе произвольных критериев, по которым пользователи могут их идентифицировать. .
-
Сервис (Service)
Абстрактный способ представления приложения, запущенного в наборе подовСамый маленький и простой объект в Kubernetes. Под — это набор запущенных контейнеров в кластере. , в виде сетевого сервиса.
[+]Набор подов, из которых состоит сервис, определяется (как правило) селекторомПозволяет пользователям фильтровать список ресурсов по меткам. . При добавлении или удалении подов, набор подов, соответствующий селектору, изменится. Сервис обеспечивает, что сетевой трафик может быть направлен на текущий набор подов для планирования рабочей нагрузки.
-
Среда выполнения контейнера
Среда выполнения контейнера — это программа, предназначенная для выполнения контейнеров.
[+]Kubernetes поддерживает несколько сред для запуска контейнеров: DockerDocker — это программное обеспечение для виртуализации на уровне операционной системы, которая известна как контейнеризация. , containerdСреда выполнения контейнера с упором на простоту, надежность и переносимость , CRI-OОптимизированная среда выполнения контейнеров, разработанная специально для Kubernetes , и любая реализация Kubernetes CRI (Container Runtime Interface).
Обратная связь
Была ли эта страница полезной?
Спасибо за отзыв! Если у вас есть конкретный вопрос об использовании Kubernetes, спрашивайте Stack Overflow. Сообщите о проблеме в репозитории GitHub, если вы хотите сообщить о проблеме или предложить улучшение.