Стандартизированный глоссарий Kubernetes
Он включает технические термины, специфичные для Kubernetes, а также более общие термины, которые полезно знать.
# A
- Add-ons — Ресурсы, которые расширяют функциональность Kubernetes.
- Admission Controller — Код, который перехватывает запросы к API-серверу Kubernetes перед сохранением объектов. Может быть валидирующим, мутирующим или одновременно выполнять обе функции.
- Affinity — Набор правил, которые подсказывают планировщику Kubernetes, где размещать поды (включает node affinity и pod-to-pod affinity).
- Aggregation Layer — Уровень, позволяющий устанавливать дополнительные API в стиле Kubernetes в кластер.
- Annotation — Пара "ключ-значение", используемая для прикрепления произвольных метаданных к объектам, которые не идентифицируют их.
- API Group — Набор связанных путей в Kubernetes API, упрощающий расширение функционала API.
- API server — Компонент управляющего слоя Kubernetes, предоставляющий доступ к Kubernetes API. Реализация по умолчанию — kube-apiserver.
- API-initiated eviction - Вытеснение, инициированное через API, — процесс, при котором с помощью Eviction API создается объект Eviction, который запускает корректное завершение работы пода. Вытеснение можно запросить через Eviction API, обратившись к нему напрямую, либо программно (через клиент API-сервера — например, с помощью команды kubectl drain). При этом будет создан объект Eviction, на основании которого API-сервер завершит работу пода.
Вытеснения, инициированные через API, учитывают заданные параметры PodDisruptionBudget и terminationGracePeriodSeconds. Вытеснение, инициированное через API, — не то же самое, что вытеснение из-за дефицита ресурсов на узле. Дополнительная информация доступна в разделе "Вытеснение, инициированное API".
- App Container — Контейнеры приложений в поде, которые запускаются после завершения инициализационных контейнеров.
- Application Architect — Ответственный за высокоуровневый дизайн приложения, чтобы оно взаимодействовало с другими компонентами масштабируемо и удобно в обслуживании.
- Application Developer — Разработчик, пишущий приложения, которые запускаются в кластере Kubernetes.
- Applications — Уровень, на котором работают различные контейнеризированные приложения.
- Approver — Человек, который проверяет и одобряет вклад в код Kubernetes.
# C
- cAdvisor — Демон, предоставляющий информацию о ресурсах и производительности работающих контейнеров.
- Certificate — Криптографически защищённый файл, используемый для проверки доступа к кластеру Kubernetes.
- cgroup (control group) — Группа процессов в Linux с возможностями изоляции, учёта и ограничения ресурсов.
- CIDR — Нотация для описания блоков IP-адресов, используемая в сетевых конфигурациях Kubernetes.
- CLA (Contributor License Agreement) — Условия, по которым участник предоставляет лицензию на свои вклады в проект с открытым исходным кодом.
- Cloud Controller Manager — Компонент, связывающий кластер с API облачных провайдеров и отделяющий логику облака от логики управления кластером.
- Cloud Native Computing Foundation (CNCF) — Организация, продвигающая технологии, связанные с контейнерами и микросервисами. Kubernetes является проектом CNCF.
- Cloud Provider - Также известный как: Поставщик облачных услуг (Cloud Service Provider) Бизнес или другая организация, которая предлагает платформу облачных вычислений. Облачные провайдеры (Cloud Providers), иногда называемые Поставщиками облачных услуг (Cloud Service Provider, CSPs), предлагают облачные вычислительные платформы или услуги.
Многие облачные провайдеры предлагают управляемую (managed) инфраструктуру, также называемую Инфраструктура как Услуга (Infrastructure as a Service, IaaS). С управляемой инфраструктурой облачный провайдер отвечает за серверы, хранилище и сеть, в то время как вы управляете слоями поверх этого, такими как запуск Kubernetes кластера. Вы также можете найти Kubernetes как управляемый сервис; иногда его называют Платформа как Услуга (Platform as a Service, PaaS). С managed Kubernetes ваш облачный провайдер отвечает за управляющий слой Kubernetes, а также за узлы и инфраструктуру, на которую они полагаются: сеть, хранилище и, возможно, другие элементы, такие как балансировщики нагрузки.
- Cluster - Набор рабочих машин, называемых узлами, которые запускают контейнеризированные приложения. Кластер имеет как минимум один рабочий узел. В рабочих узлах размещены поды, которые являются компонентами приложения. Управляющий слой управляет рабочими узлами и подами в кластере. В production-средах управляющий слой обычно запускается на нескольких компьютерах, а кластер, как правило, развёртывается на нескольких узлах, гарантируя отказоустойчивость и высокую доступность.
- Cluster Architect — Человек, проектирующий инфраструктуру, включающую один или несколько кластеров Kubernetes.
- Cluster Infrastructure — Уровень, обеспечивающий виртуальные машины, сети, группы безопасности и другие ресурсы.
- Cluster Operations — Работа, связанная с управлением кластером Kubernetes: управление ежедневными операциями и координация обновлений.
- Cluster Operator — Человек, отвечающий за настройку, управление и мониторинг кластеров.
Note
Операторы кластера отличаются от шаблона оператора, который расширяет API Kubernetes.
- Control Plane - Уровень оркестрации контейнеров, предоставляющий API и интерфейсы для определения, развёртывания и управления жизненным циклом контейнеров.
-
Controller - Контроллеры в Kubernetes — управляющие циклы (control loops), которые отслеживают состояние вашего кластера, затем вносят или запрашивают изменения там, где это необходимо. Каждый контроллер пытается привести текущее состояние кластера ближе к желаемому состоянию. Контроллеры отсллеживают общее состояние вашего кластера через API-сервер (часть управляющего слоя).
Некоторые контроллеры также работают внутри управляющего слоя, реализуя управляющие циклы, которые являются основой для операций Kubernetes. Например: контроллер деплоймента, контроллер DaemonSet'а, контроллер пространства имен и контроллер постоянных томов (и другие) работают с kube-controller-manager.
-
Code Contributor - Человек, который разрабатывает и вносит код в открытый код Kubernetes.
Также является активным членом сообщества, который участвует в одной или нескольких группах особых интересов (SIG). - ConfigMap - API-объект, используемый для хранения неконфиденциальных данных в формате ключ-значение.
Pods могут использовать ConfigMaps как переменные окружения, аргументы командной строки или файлы конфигурации в виде тома.
ConfigMap позволяет отделить конфигурацию, специфичную для среды, от образов контейнеров, делая приложения легко переносимыми. Позволяет переопределить конфигурацию запускаемых подов. - Container - Легковесный и переносимый исполняемый образ, содержащий программное обеспечение вместе со всеми его зависимостями. Контейнеры изолируют приложения от инфраструктуры хост-машины, чтобы обеспечить простое развёртывание в различных средах облачных платформ и операционных систем, а также упростить масштабирование. Приложения, запускаемые внутри контейнеров, называются контейнеризированными приложениями. Процесс упаковки этих приложений и их зависимостей в образ контейнера называется контейнеризацией.
- Container Environment Variables - Переменные окружения контейнера — это пары вида "имя=значение", которые предоставляют полезную информацию контейнерам, работающим в Pod'ах.
Эти переменные предоставляют информацию, необходимую для работы приложений, а также сведения о важных ресурсах, таких как файловая система, информация о самом контейнере и других ресурсах кластера, например, об эндпоинтах сервисов. -
Container Lifecycle Hooks - Хуки жизненного цикла контейнера предоставляют события в процессе управления контейнером и позволяют выполнять код, когда эти события происходят.
Два доступных хука:- PostStart: выполняется сразу после создания контейнера.
- PreStop: выполняется перед завершением работы контейнера.
-
Container network interface (CNI) - Плагины сетевого интерфейса контейнера (CNI) — это тип сетевых плагинов, которые соответствуют спецификации appc/CNI. Они используются для интеграции контейнеров с сетевой инфраструктурой Kubernetes.
- Container Runtime - Фундаментальный компонент, который позволяет Kubernetes эффективно запускать контейнеры.
Отвечает за управление выполнением и жизненным циклом контейнеров в Kubernetes. Поддерживаются такие среды, как containerd, CRI-O и реализации интерфейса Kubernetes CRI. - Container runtime interface (CRI) - Интерфейс API для исполняемых сред контейнеров, который интегрирует их с kubelet на узле. Для получения дополнительной информации изучите документацию по API и спецификациям CRI.
- Container Storage Interface (CSI) - Интерфейс CSI определяет стандартный способ предоставления систем хранения данных контейнерам. CSI позволяет поставщикам создавать собственные плагины хранения для Kubernetes, не добавляя их в репозиторий Kubernetes.
- containerd - Исполняемая среда для контейнеров, ориентированная на простоту, надежность и переносимость.
containerd работает как демон в Linux или Windows, занимаясь загрузкой и хранением образов контейнеров, запуском контейнеров, предоставлением сетевого доступа и другими задачами. - Contributor - Человек, который вносит свой вклад в проект или сообщество Kubernetes, предоставляя код, документацию или время. Вклад может включать pull-запросы, задачи, отзывы, участие в группах SIG или организацию мероприятий сообщества.
- CRI-O - Инструмент, позволяющий использовать исполняемые среды контейнеров стандарта OCI через Kubernetes CRI.
CRI-O предоставляет Kubernetes возможность работать с любыми OCI-совместимыми средами выполнения и загружать образы контейнеров из удаленных реестров. - CronJob - Управляет задачей (Job), которая выполняется по периодическому расписанию.
Объект CronJob использует формат cron для указания расписания выполнения задач. - CustomResourceDefinition - Пользовательский код, который определяет ресурс для добавления в API-сервер Kubernetes без создания полного собственного сервера. CustomResourceDefinition позволяет расширять API Kubernetes, если стандартные ресурсы API не подходят для ваших нужд.
# D
- Deployment - Обеспечивает декларативные (declarative) обновления для Pods и ReplicaSets. Объект API, который управляет реплицированным (т.е. имеющим копии) приложением, обычно путём запуска подов без локального хранения данных (т.е. stateless). Каждая реплика представлена подом, а все поды распределяются по узлам кластера. Для рабочих нагрузок, требующих локальное хранение данных, стоит обратить внимание на StatefulSet.
- DaemonSet - Гарантирует, что определенный под будет запущен на всех (или некоторых) нодах; Используется для развертывания системных демонов, таких как сборщики логов и агенты мониторинга, которые должны работать на каждом узле.
- Data Plane - Слой, предоставляющий вычислительные ресурсы (CPU, память, сеть, хранилище) для запуска контейнеров и их подключения к сети.
- Device Plugin - Плагины устройств запускаются на рабочих узлах и предоставляют Pod'ам доступ к ресурсам, таким как оборудование, требующее инициализации или настроек от поставщика.
Плагины устройств рекламируют ресурсы kubelet, чтобы рабочие Pod'ы могли использовать аппаратные функции на узле, где выполняется Pod. -
Disruption - События, которые приводят к остановке одного или нескольких Pod'ов.
Различают:- Добровольные сбои (например, удаление Pod'а оператором).
- Недобровольные сбои (например, из-за отказа узла или сбоя зоны отказоустойчивости).
-
Docker - Программное обеспечение для виртуализации на уровне операционной системы (контейнеризация).
Docker использует изоляцию ресурсов ядра Linux, такие как cgroups и пространства имен, а также файловые системы для работы контейнеров без использования виртуальных машин. - Dockershim - Компонент Kubernetes версий до 1.23, который позволял kubelet взаимодействовать с Docker Engine.
Начиная с версии 1.24, dockershim был удалён из Kubernetes. - Downward API - Механизм Kubernetes для предоставления значения полей Pod'а и контейнера коду, работающему внутри контейнера. Контейнеры могут использовать эту информацию без необходимости напрямую обращаться к API Kubernetes.
Поддерживаются два метода: переменные окружения и том downwardAPI. - Drain - Процесс безопасного удаления Pod'ов с узла для подготовки его к обслуживанию или удалению из кластера.
Командаkubectl drain
используется для удаления всех Pod'ов с узла. - Duration - Строка, представляющая количество времени.
Формат основан на типеtime.Duration
языка Go. Пример:5s
— пять секунд,1m30s
— одна минута и тридцать секунд. - Dynamic Volume Provisioning - Позволяет автоматически создавать тома по запросу пользователей.
Динамическое создание томов устраняет необходимость предварительного создания томов администратором кластера. - Downstream (disambiguation)
- В экосистеме Kubernetes: Код, который зависит от основного кода Kubernetes или форков репозиториев.
- В сообществе Kubernetes: Используется для описания экосистемы, кода или сторонних инструментов, зависящих от основного кода Kubernetes.
- В GitHub или git: Форкнутый репозиторий считается downstream, а исходный репозиторий — upstream.
# E
- etcd - Высокодоступное хранилище данных в формате «ключ-значение», используемое как основное хранилище всех данных кластера Kubernetes. Рекомендуется настроить резервное копирование данных etcd.
- Eviction - Процесс завершения работы одного или нескольких Pod'ов на узле. Может быть вызван давлением на ресурсы узла или вручную через API.
- Endpoints - Отслеживают IP-адреса Pod'ов, соответствующих указанным селекторам.
- EndpointSlice - Способ группировки сетевых конечных точек с использованием ресурсов Kubernetes.
- Ephemeral Container - Тип контейнера, который можно временно запустить внутри Pod для диагностики проблем.
- Event - Объект Kubernetes, описывающий изменения состояния или заметные события в системе.
- Extensions - Программные компоненты, расширяющие функциональность Kubernetes для поддержки нового оборудования.
# F
- Finalizer - Ключи, которые указывают Kubernetes дождаться выполнения определённых условий перед полной удалением ресурса. Используются для выполнения очистки связанных ресурсов перед удалением объекта.
- Feature gate - Ключи, позволяющие включать или отключать функции Kubernetes в кластере.
- FlexVolume - Устаревший интерфейс для создания плагинов внешних хранилищ.
# G
- Gateway API - Семейство API для моделирования сетевого взаимодействия служб в Kubernetes.
- Group Version Resource - Способ представления уникального ресурса API Kubernetes, включающий группу, версию и имя ресурса.
- Garbage collection - Сбор мусора — это собирательный термин для различных механизмов, используемых Kubernetes для очистки ресурсов кластера. Kubernetes использует сборку мусора для очистки таких ресурсов, как неиспользуемые контейнеры и образы, неисправные поды, объекты, принадлежащие целевому ресурсу, завершенные задачи и ресурсы, время работы которых истекло или которые завершились ошибкой.
# H
- Helm Chart - Пакет предварительно настроенных ресурсов Kubernetes, управляемый с помощью инструмента Helm.
- Horizontal Pod Autoscaler (HPA) - Ресурс API, автоматически масштабирующий количество Pod на основе загрузки ЦП или пользовательских метрик.
- HostAliases - Сопоставление IP-адреса с именем хоста, добавляемое в файл hosts Pod'а.
# I
- Image - Хранилище контейнера, содержащее набор программ для запуска приложения.
- Immutable Infrastructure - Инфраструктура, которая не изменяется после развертывания.
- Ingress - Объект API, управляющий внешним доступом к сервисам в кластере (обычно HTTP).
- Init Container - Инициализационные контейнеры, которые должны завершить работу перед запуском основных контейнеров.
- Istio - Платформа для управления микросервисами, трафиком, политиками и телеметрией.
# J
- Jobs (в том числе CronJob) - создает один (или несколько) подов и гарантирует, что после выполнения команды они будут успешно завершены (terminated).
- JSON Web Token (JWT) - Средство представления утверждений, передаваемых между двумя сторонами.
# K
- kOps - Инструмент для создания, управления и уничтожения Kubernetes-кластеров на облачной инфраструктуре.
- kube-controller-manager - Компонент, управляющий процессами контроллеров Kubernetes.
- kube-proxy - Сетевой прокси, реализующий концепцию сервисов Kubernetes.
- kube-scheduler - Компонент, распределяющий новые Pod'ы по узлам на основе их требований.
- Kubeadm - Инструмент для быстрой установки Kubernetes и настройки безопасного кластера.
- Kubectl - Командная строка для взаимодействия с кластером Kubernetes через API.
- Kubelet - Агент, следящий за тем, чтобы контейнеры в Pod оставались активными.
- Kubernetes API - Приложение, предоставляющее функционал Kubernetes через REST API.
# L
- LimitRange - Ограничивает потребление ресурсов контейнерами или Pod'ами в пространстве имен.
- Logging - Список событий, зарегистрированных кластером или приложением.
- Labels and Selectors - пары ключ/значение, которые присваиваются объектам (например, подам). С помощью селекторов пользователь может идентифицировать объект.
- Label - Тегирует объекты произвольными метками, которые идентифицируют их и имеют смысл для пользователей. Лейблы — это пары «ключ-значение», которые прикрепляются к таким объектам, как под. Они используются для организации и получения подмножеств объектов.
# M
- Managed Service - Программное предложение, поддерживаемое сторонним провайдером.
- Manifest - Описание объекта API Kubernetes в формате JSON или YAML.
- Master - Устаревший термин, используемый для обозначения узлов с управляющим слоем.
- Member - Активный участник сообщества Kubernetes.
- Minikube - Инструмент для локального запуска Kubernetes.
- Mirror Pod - Pod, создаваемый kubelet для представления статического Pod.
- Mixed Version Proxy (MVP) - Функция, позволяющая kube-apiserver перенаправлять запросы ресурсов к другому серверу API.
# N
-
Node - Pабочая машина в Kubernetes. абочий узел может быть как виртуальной, так и физической машиной, в зависимости от кластера. У него есть локальные демоны или сервисы, необходимые для запуска подов, а сам он управляется управляющим слоем (control plane). Демоны на узле включают в себя kubelet, kube-proxy и исполняемую среду для контейнеров, реализующую CRI (например, Docker).В ранних версиях Kubernetes узлы назывались «миньонами» (Minions).
-
Network Policy - Спецификация, определяющая, как группы Pod'ов могут взаимодействовать друг с другом и с другими конечными точками.
- Node-pressure eviction - Процесс, при котором kubelet завершает Pod'ы для освобождения ресурсов узла.
- Name - Клиентская строка, предназначенная для ссылки на объект в URL-адресе ресурса, например
/api/v1/pods/some-name
. Указанное имя может иметь только один объект определённого типа. Но если вы удалите этот объект, вы можете создать новый с таким же именем. - Namespace - Виртуальные кластеры размещенные поверх физического. Абстракция, которую Kubernetes использует для изоляции групп ресурсов в рамках одного кластера. Пространства имен используются для организации объектов в кластере и разграничивают ресурсы кластера. Имена ресурсов должны быть уникальными в пределах одного пространства имен, но не в разных пространствах имен. Ограничения на основе пространства имен применимы только к объектам на уровне пространств имен (например, Deployments, Services и т.д.), но не для объектов на уровне кластера (таких как StorageClass, Nodes, PersistentVolumes и т.д.).
# O
- Operator pattern - Дизайн-схема, связывающая контроллер с пользовательскими ресурсами.
- Object - Сущность в системе Kubernetes. Kubernetes использует их для представления состояния кластера. Объект Kubernetes обычно представляет собой «запись о намерениях»: как только объект создан, управляющий слой Kubernetes обеспечивает гарантию того, что элемент, который этот объект представляет, действительно существует. Создавая объект, вы фактически указываете системе Kubernetes, как должна выглядеть эта часть рабочей нагрузки кластера; это желаемое состояние вашего кластера.
# P
- Persistent Volume - Объект API, представляющий хранилище, которое существует за пределами жизненного цикла Pod.
- Persistent Volume Claim - Запрос на использование ресурсов хранилища, определённых в Persistent Volume.
- Platform Developer - Разработчик, настраивающий платформу Kubernetes под проект.
- Pod - минимальная сущность (юнит) для развертывания в кластере. Самый маленький и простой объект в Kubernetes. Объект Pod — набор запущенных контейнеров в кластере. Как правило, один под предназначен для выполнения одного основного контейнера. Он также может запускать вспомогательные («прицепные») sidecar-контейнеры, добавляющие новые функциональные возможности, например, логирование. Поды обычно управляются деплойментом.
- Pod disruption - Нарушение работы подов (Pod disruption) — процесс, в ходе которого происходит плановое или внеплановое (принудительное) завершение работы подов на узлах. Плановое завершение работы подов инициируется владельцами приложений или администраторами кластера. Внеплановое завершение работы обычно вызвано непредвиденными обстоятельствами различной природы, например, недостатком ресурсов на узлах или случайными удалениями.
- Pod Disruption Budget - Бюджет на нарушения для Подов позволяет владельцу приложения создать объект для реплицированного приложения, который гарантирует, что определённое количество или процент Подов с назначенной меткой не будут добровольно удалены в любой момент времени.
- Pod Lifecycle - Жизненный цикл Пода – это последовательность состояний, через которые проходит Под за время своего существования. Возможные состояния Пода: Ожидание (Pending), Работа (Running), Успешно завершён (Succeeded), Неудача (Failed), Неизвестно (Unknown).
- Pod Priority - Приоритет Пода указывает на его важность относительно других Подов. Это позволяет задавать приоритеты при планировании запуска Подов, что особенно важно для рабочих нагрузок в продуктивных кластерах.
- Pod Security Policy - Политика безопасности Подов – это кластерный ресурс, который управляет аспектами безопасности спецификации Пода. Политика задаёт условия, которые должен соблюдать Под, чтобы быть принятой в систему, а также значения по умолчанию для связанных полей. (Эта политика устарела в Kubernetes v1.21 и удалена в v1.25. Вместо неё рекомендуется использовать Pod Security Admission или сторонние плагины.)
- PodTemplate - Шаблон Пода – это объект API, определяющий шаблон для создания Подов. Шаблоны Подов позволяют задавать общие метаданные (например, метки) и описывать желаемое состояние Пода.
- Preemption - Прерывание в Kubernetes помогает ожидающему Поду найти подходящий Узел, удаляя Поды с более низким приоритетом на этом Узле.
- PriorityClass - PriorityClass – это именованный класс для задания приоритета планирования, который назначается Подам. Значения приоритета варьируются от -2147483648 до 1000000000, где более высокие значения указывают на больший приоритет.
- Probe - Проверка, которую kubelet периодически выполняет для контейнера, запущенного в Поде. Она определяет состояние контейнера, его работоспособность и взаимодействует с жизненным циклом контейнера.
- Proxy - Прокси – это сервер, который действует как посредник между клиентом и удалённым сервером. В Kubernetes kube-proxy обеспечивает сетевую прокси-функцию для концепции Service.
# Q
- QoS Class - Класс QoS (Качество обслуживания) предоставляет механизм для классификации Подов в кластере и принятия решений о их планировании и удалении. Возможные классы: Guaranteed, Burstable и BestEffort.
- Quantity - Количество – это представление чисел с использованием суффиксов Международной системы единиц (SI). Например, 1.5 представляется как 1500m, а 1000 – как 1k.
# R
- RBAC (Role-Based Access Control) - Контроль доступа на основе ролей (RBAC) управляет решениями об авторизации, позволяя администраторам динамически настраивать политики доступа через API Kubernetes.
- Replica - Реплика – это копия или дубликат Пода или набора Подов. Реплики обеспечивают высокую доступность, масштабируемость и устойчивость к сбоям.
- ReplicaSet - ReplicaSet поддерживает заданное количество реплик Подов, работающих в любой момент времени. гарантирует, что в определенный момент времени будет запущено нужно кол-во контейнеров. Он используется объектами рабочих нагрузок, такими как Deployment.
- ReplicationController - Контроллер репликации управляет реплицированным приложением, гарантируя, что заданное количество экземпляров Пода будет запущено. (Устарело, рекомендуется использовать Deployment.)
- Resource Quotas - Квоты на ресурсы предоставляют ограничения на общее потребление ресурсов в Namespace. Они ограничивают количество объектов и вычислительных ресурсов в проекте.
- Reviewer - Рецензент – это человек, который проверяет код на качество и правильность в рамках части проекта.
# S
-
Service - абстракция, которая определяет логический набор подов и политику доступа к ним. Абстрактный способ представления приложения, запущенного в наборе подов, в виде сетевого сервиса. Набор подов, из которых состоит сервис, определяется (как правило) селектором. Если поды добавляются или удаляются, набор подов, соответствующий селектору, изменится. Сервис гарантирует, что сетевой трафик может быть направлен на текущий набор подов у рабочей нагрузки.
Сервисы Kubernetes используют либо IP-сеть (IPv4, IPv6 или оба), либо ссылаются на внешнее имя в системе DNS (Domain Name System). Абстракция сервиса позволяет работать другим механизмам, такие как Ingress и Gateway.
-
Security Context — поле securityContext определяет привилегии и настройки контроля доступа для пода или контейнера. В securityContext можно указать: пользователя, от имени которого выполняются процессы, группу, к которой эти процессы принадлежат, и настройки привилегий. Также можно настроить политики безопасности (например, SELinux, AppArmor или seccomp). Настройки PodSpec.securityContext применяются ко всем контейнерам в поде.
- Service Account — отвечает за идентификацию процессов, выполняющихся в поде. Процессы внутри пода аутентифицируются сервером API и относятся к определенной служебной учетной записи для доступа к кластеру. Если при создании пода служебная учетная запись не указана, автоматически присваивается учетная запись по умолчанию в том же пространстве имен.
- Shuffle-sharding — методика распределения запросов по очередям, обеспечивающая лучшую изоляцию, чем хеширование с использованием количества очередей. Shuffle-sharding помогает изолировать потоки запросов с разной интенсивностью, чтобы потоки с высокой интенсивностью не вытесняли потоки с низкой интенсивностью. Процесс начинается с хеширования характеристик потока, затем используется это значение для случайного распределения запросов по очередям, и запросы помещаются в наименее загруженную очередь.
- Sidecar Container — один или несколько контейнеров, которые обычно запускаются до основных контейнеров приложения. Sidecar контейнеры предоставляют локальную службу для основного контейнера пода. В отличие от init контейнеров, sidecar контейнеры продолжают работать после старта пода.
- SIG (special interest group) — участники сообщества, которые коллективно управляют определенной частью или аспектом более крупного проекта Kubernetes с открытым исходным кодом. Участники SIG имеют общую цель по развитию определенной области, такой как архитектура, API или документация.
- Spec — описывает, как должен быть настроен объект, например, под или сервис, и его желаемое состояние. Почти каждый объект Kubernetes включает два вложенных поля, которые управляют конфигурацией объекта: spec и status объекта.
- StatefulSet — управляет развертыванием и масштабированием набора подов, обеспечивая гарантии порядка и уникальности этих подов. StatefulSet сохраняет "липкую" идентификацию для каждого пода, которая сохраняется даже при пересоздании пода. Используется для управления приложениями с сохранением состояния.
- Static Pod — под, управляемый напрямую демоном kubelet на конкретном узле, без наблюдения со стороны API сервера.
- Storage Class — позволяет администраторам описывать различные доступные типы хранения. StorageClass может быть использован для указания уровней качества обслуживания, политик резервного копирования или других произвольных политик, определяемых администраторами кластера.
- sysctl — полу-стандартизированный интерфейс для чтения или изменения атрибутов работающего ядра Unix. sysctl используется для изменения системных настроек в операционных системах семейства Unix.
-
Secret - Хранит конфиденциальную информацию, такую как пароли, токены OAuth и ключи SSH. Позволяет повысить контроль над использованием конфиденциальной информации и снизить риск ее случайного раскрытия. Секретные значения кодируются в формат base64 и по умолчанию хранятся в незашифрованном виде, но могут быть настроены на шифрование "at rest" (при записи в хранилище).
Под ссылается на секрет разными способами — например, при монтировании тома или как переменную окружения. Секреты предназначены для конфиденциальных данных, а для неконфиденциальных данных предусмотрены ConfigMaps.
-
Selector - Позволяет пользователям фильтровать список ресурсов по лейблам. Селекторы применяются при создании запросов для фильтрации списков ресурсов по лейблам.
# T
- Taint — объект, состоящий из трех обязательных свойств: ключа, значения и эффекта. Taints предотвращают планирование подов на узлы или группы узлов. Taints и tolerations (терпимости) работают вместе, чтобы убедиться, что поды не планируются на неподобающие узлы.
- Toleration — объект, состоящий из трех обязательных свойств: ключа, значения и эффекта. Tolerations позволяют планировать поды на узлы или группы узлов с совпадающими taints.
# U
- UID — уникальная строка, сгенерированная самим Kubernetes, для идентификации объектов. Каждый объект в кластере Kubernetes имеет уникальный идентификатор, который позволяет отличать объекты, существовавшие в разное время.
- Upstream (disambiguation) — термин, который может означать основной код Kubernetes или исходный репозиторий, из которого был форкнут другой репозиторий.
- User namespace — функция ядра Linux для эмуляции root-привилегий. Используется для "контейнеров без root" — позволяет не-root пользователю эмулировать привилегии суперпользователя.
# V
- Volume — директория, содержащая данные, доступные контейнерам в поде. Volume существует столько, сколько существует под, и сохраняет данные между перезапусками контейнеров.
- Volume Plugin — плагин, который позволяет интегрировать хранилище в под. Плагины могут быть как встроенными, так и внешними, и используются для подключения и монтирования томов хранения в подах.
# W
- Watch — операция, используемая для отслеживания изменений объекта в Kubernetes как потока данных. Watch позволяет эффективно отслеживать изменения, например, когда контроллеру нужно узнать о изменениях в ConfigMap.
- WG (working group) — группа, занимающаяся обсуждением и/или реализацией краткосрочных проектов для комитета, SIG или меж-SIG усилий. Рабочие группы организуют людей для выполнения конкретных задач.
- Workload - Рабочая нагрузка — это приложение, работающее в Kubernetes.
DaemonSet
,Deployment
,Job
,ReplicaSet
иStatefulSet
являются основными объектами, представляющими собой различные типы рабочей нагрузки.Например, рабочая нагрузка, включающая в себя веб-сервер и базу данных, может запускать базу данных в одном
StatefulSet
, а веб-сервер — вDeployment
.