- Kubernetes
- Документація
- Блог
- Навчання
- Партнери
- Спільнота
- Застосування
- Версії
- Інформація про випуск
- v1.33
- v1.32
- v1.31
- v1.30
- v1.29
- Українська (Ukrainian)
- English
- বাংলা (Bengali)
- 中文 (Chinese)
- Français (French)
- Deutsch (German)
- हिन्दी (Hindi)
- Bahasa Indonesia (Indonesian)
- Italiano (Italian)
- 日本語 (Japanese)
- 한국어 (Korean)
- Polski (Polish)
- Português (Portuguese)
- Русский (Russian)
- Español (Spanish)
- Tiếng Việt (Vietnamese)
Глосарій
Даний словник створений як повний стандартизований список термінології Kubernetes. Він включає в себе технічні терміни, специфічні для Kubernetes, а також більш загальні терміни, необхідні для кращого розуміння контексту.
Відфільтрувати терміни за теґами
.
Архітектура
Спільнота
Основні обʼєкти
Розширення
Основи
Мережа
Обслуговування
Безпека
Зберігання
Інструменти
Користувачі
Навантаження
Вибрати все
Очистити вибірНатисність на [+] для отримання розширеного пояснення конкретного терміна.
Застосунок, який обслуговує функціонал Kubernetes через RESTful інтерфейс та зберігає стан кластера.
[+]Ресурси Kubernetes та "записи про наміри" зберігаються як обʼєкти API та модифікуються за допомогою RESTful викликів до API. API дозволяє керувати конфігурацією декларативним способом. Користувачі можуть взаємодіяти з API Kubernetes безпосередньо або за допомогою інструментів, таких як
kubectl
. Ядро API Kubernetes є гнучким та може бути розширено для підтримки власних ресурсів користувачів.- Або також: kube-apiserver
Сервер API є компонентом панелі управління Kubernetes, який надає доступ до API Kubernetes. Сервер API є фронтендом для панелі управління Kubernetes.
[+]Основна реалізація сервера API Kubernetes — kube-apiserver. kube-apiserver спроєктований для горизонтального масштабування, тобто масштабується за допомогою розгортання додаткових екземплярів. Ви можете запустити кілька екземплярів kube-apiserver та балансувати трафік між ними.
- Або також: API Group
Набір повʼязаних шляхів в API Kubernetes.
[+]Ви можете увімкнути або вимкнути кожну API-групу, змінивши конфігурацію свого API-сервера. Ви також можете вимкнути або увімкнути шляхи до конкретних ресурсів. API-група полегшує розширення API Kubernetes. API-група вказується в REST-шляху та в полі
apiVersion
серіалізованого обʼєкта.- Дивіться API-група для отримання додаткової інформації.
Група процесів в середовищі Linux із можливістю ізоляції, обліку та встановлення обмежень ресурсів.
[+]cgroup є функцією ядра Linux, яка обмежує, обліковує та ізолює використання ресурсів (центральний процесор, памʼять, введення/виведення даних на диск, мережа) для колекції процесів.
Власний код, який визначає ресурс для додавання до сервера API вашого кластера Kubernetes без створення власного сервера.
[+]Визначення власного ресурсу (Custom Resource Definitions) дозволяють розширювати API Kubernetes для вашого середовища, якщо публічно підтримувані ресурси API не можуть задовольнити ваші потреби.
- Шар, який надає контейнерам ресурси, такі як ЦПУ, памʼять, мережа і сховище даних для того, щоб контейнери могли працювати та підʼєднуватись до мережі. [+]
Шар, який надає контейнерам ресурси, такі як ЦПУ, памʼять, мережа і сховище даних для того, щоб контейнери могли працювати та підʼєднуватись до мережі.
Обʼєкт API, який керує реплікованим застосунком, зазвичай, запускаючи Podʼи без збереження стану.
[+]Кожна репліка представлена Podʼом; Podʼи розподіляються серед вузлів кластера. Для робочих навантажень, які дійсно вимагають збереження стану, розгляньте використання StatefulSet.
Docker (зокрема, Docker Engine) — це програмна технологія, яка забезпечує віртуалізацію на рівні операційної системи, також відому як контейнери.
[+]Docker використовує функції ізоляції ресурсів ядра Linux, такі як cgroups та простори імен ядра, а також файлову систему, здатну до обʼєднання, таку як OverlayFS та інші, щоб дозволити незалежним контейнерам працювати в одному екземплярі Linux, уникаючи накладних витрат на запуск та підтримку віртуальних машин (ВМ).
Dockershim є компонентом Kubernetes версії 1.23 та раніше. Він дозволяє kubelet взаємодіяти з Docker Engine.
[+]Починаючи з версії 1.24, dockershim був вилучений з Kubernetes. Докладніше дивіться в Dockershim FAQ.
- Або також: Злив, Очищення
Процес безпечного виселення Podʼів з Node для підготовки до обслуговування або видалення з кластера.
[+]Команда
kubectl drain
використовується для позначення Вузла як такого, що виводиться з експлуатації. При виконанні відбувається виселення всіх Podʼів з Вузла. Якщо запит на виселення тимчасово відхилено,kubectl drain
повторює спроби, доки всі Podʼи не будуть завершені або не буде досягнуто налаштовуваного тайм-ауту. Компонент панелі управління, який запускає процеси контролера.
[+]За логікою, кожен контролер є окремим процесом. Однак для спрощення їх збирають в один бінарний файл і запускають як єдиний процес.
kube-proxy є мережевим проксі, що запущений на кожному вузлі кластера і реалізує частину концепції Kubernetes Service.
[+]kube-proxy забезпечує підтримання мережевих правил на вузлах. Ці правила обумовлюють підключення мережею до ваших Podʼів всередині чи поза межами кластера.
kube-proxy використовує шар фільтрації пакетів операційної системи, за його наявності. В іншому випадку kube-proxy скеровує трафік самостійно.
- Або також: kubectl
Інструмент командного рядка для взаємодії із кластером Kubernetes, панеллю управління, використовуючи API Kubernetes.
[+]Ви можете використовувати
kubectl
для створення, перегляду, оновлення та видалення обʼєктів Kubernetes.Англійською,
kubectl
(офіційно) вимовляється як /kjuːb/ /kənˈtɹəʊl/ (типу "cube control"). Агент, запущений на кожному вузлі кластера. Забезпечує запуск і роботу контейнерів в Podʼах.
[+]kubelet використовує специфікації PodSpecs, які надаються за допомогою різних механізмів, і забезпечує працездатність і справність усіх контейнерів, що описані у PodSpecs. kubelet керує лише тими контейнерами, що були створені Kubernetes.
Впроваджує ліміти для обмеження обсягу споживання ресурсів для кожного контейнера чи Podʼа в просторі імен.
[+]LimitRange обмежує кількість обʼєктів, які можна створити за типом, а також обсяг обчислювальних ресурсів, які можуть бути затребувані/спожиті окремими контейнерами чи Podʼами в просторі імен.
Застарілий термін, використовується як синонім для вузлів, на яких розміщено панель управління.
[+]Цей термін все ще використовується деякими інструментами для надання послуг, такими як kubeadm, та сервісами, що надаються постачальниками послуг, для позначення мітками вузлів за допомогою
kubernetes.io/role
та контролю розташування панелі управління Podʼів.Інструмент для локального запуску Kubernetes.
[+]Minikube запускає універсальний (все-в-одному) або багатовузловий локальний кластер Kubernetes у віртуальній машині на вашому комп'ютері. Ви можете використовувати Minikube, щоб спробувати Kubernetes у навчальному середовищі.
Наданий клієнтом рядок, який посилається на обʼєкт в URL ресурсу, наприклад
[+]/api/v1/pods/some-name
.Тільки один обʼєкт вказаного виду (kind) може мати вказану назву одночасно. Проте, якщо ви видаляєте обʼєкт, ви можете створити новий обʼєкт з такою ж назвою.
- Або також: Простір імен
Абстракція, що використовується в Kubernetes для ізоляції груп ресурсів в межах одного кластера.
[+]Простори імен використовуються для організації обʼєктів в кластері та надають можливість поділу ресурсів кластера. Імена ресурсів повинні бути унікальними в межах простору імен, але не між просторами імен. Простори імен застосовуються лише до обʼєктів, які належать до простору імен (наприклад, Deployments, Services і т.д.), і не застосовуються до обʼєктів, які є загальними для кластера (наприклад, StorageClass, Nodes, PersistentVolumes, і т.д.).
Найменший та найпростіший обʼєкт Kubernetes. Pod являє собою групу контейнерів, що запущені у вашому кластері.
[+]Pod зазвичай налаштовується для запуску одного основного контейнера. Він також може запускати додаткові sidecar контейнери, які додають додаткові функції, наприклад логування. Podʼами зазвичай керує Deployment.
Копія або дублікат Podʼа або набору обʼєктів Pod. Репліки забезпечують високу доступність, масштабованість і стійкість до відмов шляхом утримання кількох ідентичних екземплярів обʼєкта Pod.
[+]У Kubernetes репліки широко використовуються для досягнення бажаного стану застосунку та надійності роботи. Вони дозволяють масштабування робочого навантаження та його розподіл по різних вузлах кластера.
Визначаючи кількість реплік в обʼєкті Deployment або ReplicaSet, Kubernetes переконується, що вказана кількість екземплярів працює, автоматично коригуючи кількість за необхідності.
Управління репліками дозволяє ефективно балансувати навантаження, виконувати поетапні оновлення та забезпечує можливості самовідновлення в кластері Kubernetes.
Обʼєкт ReplicaSet (має на меті) підтримувати набір реплік обʼєктів Pod, які завжди працюють в будь-який момент часу.
[+]Обʼєкти робочого навантаження, такі як Deployment, використовують ReplicaSet для забезпечення того, що налаштована кількість Podʼів працювала у вашому кластері на основі конфігурації цього ReplicaSet.
Метод надання доступу ззовні до мережевого застосунку, який працює як один чи кілька Podʼів у вашому кластері.
[+]Набір Podʼів, з якими працює Service, (зазвичай) визначається селектором. Якщо додаються чи видаляються деякі Podʼи, набір Podʼів, що відповідає селектору, буде змінено. Service переконується, що мережевий трафік може бути направлений на поточний набір Podʼів з робочим навантаженням.
Serviceʼи Kubernetes можуть використовувати IP-мережу (IPv4, IPv6 або обидві) або посилатися на зовнішнє імʼя в Domain Name System (DNS).
Абстракція Service дозволяє використовувати інші механізми, такі як Ingress та Gateway.
- Або також: Службовий обліковий запис
Забезпечує ідентифікацію для процесів, які працюють в Podʼі.
[+]Коли процеси всередині Podʼів отримують доступ до кластера, їх автентифікує сервер API як певний службовий обліковий запис, наприклад,
default
. При створенні Podʼа, якщо ви не вказали службовий обліковий запис, йому автоматично буде призначений типовий службовий обліковий запис у тому ж Namespace. Техніка розподілу запитів до черг, яка забезпечує кращу ізоляцію, ніж хешування за модулем кількості черг.
[+]Ми часто переймаємось ізоляцією різних потоків запитів один від одного, щоб інтенсивний потік не витісняв менш інтенсивні потоки. Простий спосіб розміщення запитів у черзі — хешування деяких характеристик запиту за модулем кількості черг, щоб отримати індекс черги для використання. Хеш-функція використовує вхідні характеристики запиту, які відповідають потокам. Наприклад, в Інтернеті це часто кортеж з 5 елементів: адреси джерела та призначення, протоколу та порту джерела та призначення.
Ця проста схема, заснована на хешуванні, має властивість того, що будь-який інтенсивний потік витісняє всі менш інтенсивні потоки, які хешуються в ту ж чергу. Для забезпечення хорошої ізоляції для великої кількості потоків потрібна велика кількість черг, що є проблематичним. Shuffle-sharding — це легша техніка, яка може краще ізолювати менш інтенсивні потоки від більш інтенсивних. Термінологія shuffle-sharding використовує метафору роздачі карт з колоди; кожна черга — це метафорична карта. Техніка shuffle-sharding починається з хешування характеристик, які ідентифікують потік запитів, для створення хеш-значення з десятками або більше бітів. Потім значення хешу використовується як джерело ентропії для перемішування колоди та роздачі карт на руки (черг). Оглядаються всі роздані черги, і запит поміщається в одну з оглянутих черг з найкоротшою довжиною. З помірним розміром руки не треба оглядати всі роздані карти, і у менш інтенсивного потоку є хороші шанси уникнути впливів більш інтенсивного потоку. З великим розміром руки дорого оглядати роздані черги та складніше для менш інтенсивних потоків уникнути колективних ефектів набору більш інтенсивних потоків. Таким чином, розмір руки повинен бути розумно обраний.
Один чи кілька контейнерів, які зазвичай стартують до запуску будь-яких контейнерів застосунків.
[+]Sidecar контейнери схожі на звичайні контейнери застосунків, але вони мають інше призначення: sidecar контейнер надає локальні послуги для Podʼа основному контейнеру застосунку. На відміну від контейнерів ініціалізації, sidecar контейнери продовжують виконуватися після запуску Podʼа.
Докладніше дивіться Sidecar контейнери.
- Або також: Специфікація
Визначає, як слід налаштовувати кожен обʼєкт, такий як Pod або Service, та його бажаний стан.
[+]Практично кожен обʼєкт Kubernetes має два вкладені поля обʼєкта, які визначають конфігурацію обʼєкта: spec та status. Для обʼєктів, які мають специфікацію (spec), ви повинні встановити її при створенні обʼєкта, надаючи опис характеристик, які ви хочете, щоб ресурс мав — його бажаний стан.
Специфікація різниться для різних обʼєктів, таких як Podʼи, StatefulSets та Services, надаючи налаштування, такі як контейнери, томи, репліки, порти та інші унікальні для кожного типу обʼєкта специфікації. Це поле вказує те, який стан Kubernetes повинен утримувати для визначеного обʼєкта.
StatefulSet керує розгортанням і масштабуванням групи Podʼів, і забезпечує гарантії щодо порядку та унікальності цих Podʼів.
[+]Схожий на Deployment, StatefulSet керує Podʼами, які базуються на ідентичній специфікації контейнерів. На відміну від Deployment, StatefulSet зберігає постійну ідентичність для кожного свого Podʼа. Ці Podʼи створюються за однаковою специфікацією, але не є взаємозамінними: у кожного є постійний ідентифікатор, який він утримує при переплануванні.
Якщо ви хочете використовувати томи для забезпечення постійності для вашого завдання, ви можете використовувати StatefulSet як частину рішення. Навіть якщо окремі Podʼи в StatefulSet можуть вийти з ладу, постійні ідентифікатори Podʼів полегшують відповідність наявних томів новим Podʼам, які замінюють ті, що вийшли з ладу.
Pod, яким управляє безпосередньо демон kubelet на певному вузлі,
[+]без його спостереження через сервер API.
Static Pod не підтримують ефемерні контейнери.
- Або також: Позначка, Заплямованість
Основний обʼєкт, що складається з трьох обовʼязкових властивостей: key, value, та effect. Taints (додаткові властивості) запобігають розміщенню Podʼів на вузлах чи групах вузлів.
[+]Taints та tolerations співпрацюють, щоб забезпечити те, що Podʼи не розміщуються на непридатних вузлах. Один чи декілька taint застосовуються до вузла. Вузол повинен розміщувати лише Podʼи з tolerations, що збігаються з налаштованими taints.
Рядок, створений системами Kubernetes для унікальної ідентифікації обʼєктів.
[+]Кожен обʼєкт, створений протягом усього життя кластера Kubernetes, має відмінний UID. Він призначений для відмінності між історичними випадками схожих сутностей.
- Або також: Спостереження
Дієслово, яке використовується для відстеження змін обʼєкта в Kubernetes у вигляді потоку. Використовується для ефективного виявлення змін.
[+]Дієслово, яке використовується для відстеження змін обʼєкта у Kubernetes у вигляді потоку. Watch дозволяє ефективно виявляти зміни; наприклад, контролер, якому потрібно знати, коли змінюється ConfigMap, може використовувати watch, а не опитування.
Ознайомтесь з Ефективним виявленням змін у концепціях API для отримання додаткової інформації.
- Або також: Annotation
Ключ-значення, які використовуються для додавання довільних невизначених метаданих до обʼєктів.
[+]Метадані в анотації можуть бути невеликими чи великими, структурованими чи неструктурованими, і можуть містити символи, які не дозволяються в мітках. Клієнти, такі як інструменти та бібліотеки, можуть отримувати ці метадані.
- Або також: device plugin
Втулки пристроїв працюють на вузлах кластера (Nodes) та забезпечують Podʼам доступ до ресурсів, таких як локальне обладнання, яке вимагає вендор-специфічної ініціалізації чи налаштувань.
[+]Втулки пристроїв оголошують ресурси для kubelet, щоб робочі Podʼи мали доступ до апаратних можливостей, повʼязаних з вузлом, на якому запущений цей Pod. Ви можете розгортати втулок пристрою як DaemonSet, або встановлювати програмне забезпечення втулка пристрою безпосередньо на кожний відповідний вузол.
Докладніше дивіться в розділі Втулки пристроїв.
- Або також: Node
Вузол — це робоча машина в Kubernetes.
[+]Робочий вузол може бути віртуальною машиною або фізичною машиною, залежно від кластера. На ньому працюють локальні служби або служби, необхідні для виконання Podʼів, і ним керує панель управління. Демони на вузлі включають kubelet, kube-proxy та середовище виконання контейнерів, яке реалізує CRI, наприклад Docker.
В ранніх версіях Kubernetes вузли називалися "Minions" (Міньйони).
- Або також: Mirror Pod
Pod, який kubelet використовує для представлення статичного Podʼа.
[+]Коли kubelet знаходить статичний Pod у своїй конфігурації, він автоматично намагається створити обʼєкт Pod на сервері API Kubernetes для нього. Це означає, що Pod буде видно на сервері API, але ним не можна керувати звідти.
(Наприклад, видалення дзеркального Podʼа не зупинить демона kubelet від його запуску).
- Або також: Ephemeral Container
Тип контейнера, який можна тимчасово запустити всередині Podʼа.
[+]Якщо вам потрібно дослідити Pod, який зтикається з проблемами, ви можете додати ефемерний контейнер до цього Podʼа та провести діагностику. У ефемерних контейнерів немає гарантій ресурсів чи планування, і ви не повинні використовувати їх для запуску будь-якої частини навантаження самого Podʼа.
Ефемерні контейнери не підтримуються статичними Podʼами.
- Або також: Pod Lifecycle
Послідовність станів, через які проходить Pod протягом свого існування.
[+]Життєвий цикл Podа визначається станами або фазами Podʼа. Існує пʼять можливих фаз Podʼа: Pending, Running, Succeeded, Failed та Unknown. Високорівневий опис стану Podʼа знаходиться в полі
phase
PodStatus. - Або також: Finalizer
Завершувачі — це ключі простору імен, які наказують Kubernetes чекати до виконання певних умов перед тим, як повністю видаляти ресурси, позначені для видалення. Завершувачі попереджають контролери про очищення ресурсів, які належать обʼєкту, що вилучається.
[+]Коли ви наказуєте Kubernetes видалити обʼєкт, для якого є завершувачі, API Kubernetes позначає обʼєкт для видалення, заповнюючи поле
.metadata.deletionTimestamp
, і повертає статус-код202
(HTTP "Accepted"). Цільовий обʼєкт залишається в стані завершення, поки панель управління чи інші компоненти виконують дії, визначені завершувачами. Після завершення цих дій контролер видаляє відповідні завершувачі з цільового обʼєкта. Коли полеmetadata.finalizers
порожнє, Kubernetes вважає видалення завершеним і видаляє обʼєкт.Ви можете використовувати завершувачі для управління збором сміття ресурсів. Наприклад, ви можете визначити завершувач для очищення повʼязаних ресурсів чи інфраструктури перед тим, як контролер видалить цільовий ресурс.
- Або також: Applications
Шар, в якому виконуються різноманітні контейнеризовані застосунки. [+]Шар, в якому виконуються різноманітні контейнеризовані застосунки.
- Або також: Garbage Collection
Збирання сміття — це загальний термін для різних механізмів, які Kubernetes використовує для очищення ресурсів кластера.
[+]Kubernetes використовує збирання сміття для очищення ресурсів, таких як невикористані контейнери та образи, збійні Podʼи, обʼєкти, які належать цільовому ресурсу, завершені завдання (Job) та ресурси, строк існування яких сплив або які зазнали збою.
Змінні середовища контейнера — це пари name=value, які надають корисну інформацію контейнерам, які працюють у Podʼі.
[+]Змінні середовища контейнера надають інформацію, необхідну для роботи контейнеризованих застосунків, разом із важливою інформацією про ресурси для контейнерів. Наприклад, деталі файлової системи, інформація про сам контейнер та інші ресурси кластера, такі як точки доступу сервісів.
- Або також: Container Runtime Interface, CRI
Основний протокол для взаємодії між kubelet та середовищем виконання контейнерів.
[+]Інтерфейс виконання контейнерів Kubernetes (CRI) визначає основний gRPC протокол для звʼязку між компонентами вузла kubelet та середовищем виконання контейнерів.
- Або також: RBAC, Role-Based Access Control
Управління рішеннями з авторизації, яке дозволяє адміністраторам динамічно налаштовувати політики доступу через API Kubernetes.
[+]RBAC використовує чотири типи обʼєктів Kubernetes:
- Role
- Визначає правила дозволів у певному просторі імен.
- ClusterRole
- Визначає правила дозволів для всього кластера.
- RoleBinding
- Надає дозволи, визначені в ролі, набору користувачів у певному просторі імен.
- ClusterRoleBinding
- Надає дозволи, визначені в ролі, набору користувачів у всьому кластері.
Докладніше дивіться RBAC.
- Або також: Quantity, Обсяг
Представлення цілих чисел малих або великих чисел за допомогою суфіксів SI.
[+]Кількості — це представлення малих або великих чисел за допомогою компактного, запису цілих чисел із суфіксами СІ. Дробові числа використовуючи міліодиниці, тоді як великі числа можуть бути представлені кіло, мега або гіга одиницями.
Наприклад, число
1.5
представляється як1500m
, тоді як число1000
можна представити як1k
, а1000000
як1M
. Ви також можете вказати суфікси у бінарному форматі; число 2048 можна записати як2Ki
.Прийняті десяткові (за основою 10) одиниці — це
m
(мілі),k
(кіло, свідомо в нижньому регістрі),M
(мега),G
(гіга),T
(тера),P
(пета),E
(екса).Прийняті двійкові (за основою 2) одиниці — це
Ki
(кібі),Mi
(мебі),Gi
(гібі),Ti
(тебі),Pi
(пебі),Ei
(ексбі). - Або також: QoS Class
Клас обслуговування QoS (Quality of Service Class) надає можливість Kubernetes класифікувати Podʼи в кластері в декілька класів і приймати рішення щодо їх планування та видалення.
[+]Клас QoS Podʼа встановлюється під час створення на основі його налаштувань обчислювальних ресурсів (запити та обмеження). Класи QoS використовуються для прийняття рішень щодо планування та видалення Podʼів. Kubernetes може присвоїти один із наступних класів QoS Podʼу:
Guaranteed
,Burstable
абоBestEffort
. Набір робочих машин, що називаються вузлами, які виконують контейнеризовані застосунки. Кожен кластер має принаймні один робочий вузол.
[+]Робочі вузли містять Podʼи, які є компонентами навантаження застосунку. Панель управління керує робочими вузлами та Podʼами в кластері. В операційних середовищах панель управління, зазвичай, працює на кількох компʼютерах, і кластер, як правило, має кілька вузлів, забезпечуючи стійкість до відмов та високу доступність.
Легкий та переносний виконуваний образ, який містить програмне забезпечення та всі його залежності.
[+]Контейнери відокремлюють застосунки від базової інфраструктури хосту, щоб полегшити їх розгортання в різних хмарних середовищах або операційних системах та полегшити масштабування. Застосунки, які працюють в межах контейнерів, називають контейнеризованими застосунками. Процес упаковування цих застосунків та їх залежностей в образ контейнера називається контейнеризацією.
- Або також: Init Container
Один чи кілька контейнерів ініціалізації, які повинні повністю виконати та завершити дію, перед тим як будь-які контейнери застосунків почнуть виконуватися
[+]Контейнери ініціалізації (init) схожі на звичайні контейнери застосунків, з однією відмінністю: контейнери ініціалізації повинні завершити виконання, перед тим як будь-які контейнери застосунків почнуть виконуватись. Контейнери ініціалізації виконуються послідовно: кожен контейнер ініціалізації повинен закінчити виконання, перед тим як почнеться виконання наступного контейнера ініціалізації.
На відміну від sidecar контейнерів контейнери ініціалізації не залишаються працювати після запуску Podʼа.
Докладніше дивіться контейнери ініціалізації.
У Kubernetes контролери — це цикли управління, які спостерігають за станом вашого кластера, а потім вносять або запитують зміни там, де це необхідно. Кожен контролер намагається наблизити поточний стан кластера до бажаного.
[+]Контролери спостерігають за загальним станом вашого кластера через apiserver (частина Панелі управління).
Деякі контролери також працюють всередині панелі управління, забезпечуючи цикли управління, які є ключовими для операцій Kubernetes. Наприклад, контролер Deployment, контролер DaemonSet, контролер Namespace та контролер постійних томів (і інші) всі працюють всередині kube-controller-manager.
Сутність у системі Kubernetes. Обʼєкт є ресурсом API, який API Kubernetes використовує для представлення стану вашого кластера.
[+]Обʼєкт Kubernetes зазвичай є "записом наміру" — коли ви створюєте обʼєкт, панель управління Kubernetes постійно працює над тим, щоб забезпечити існування представленого ним елемента. Створюючи обʼєкт, ви повідомляєте системі Kubernetes, як ви хочете, щоб ця частина робочого навантаження вашого кластера виглядала; це бажаний стан вашого кластера.
- Або також: Image
Збережений екземпляр контейнера, що містить набір програмного забезпечення, необхідного для запуску застосунку.
[+]Спосіб упаковування програмного забезпечення, який дозволяє йому бути збереженим у реєстрі контейнерів, перенесеним на локальну систему та запущеним як застосунок. Образ містить метадані, які можуть вказувати, який виконавчий файл запускати, хто його зібрав та іншу інформацію.
- Або також: Control Plane, master
Шар оркестрування контейнерів, який надає API та інтерфейси для виявлення, розгортання та управління життєвим циклом контейнерів.
[+]Цей шар складається з багатьох різних компонентів, таких як (але не обмежуючись):
Ці компоненти можуть працювати як традиційні служби операційної системи (демони) або як контейнери. Хости, на яких працюють ці компоненти, історично називалися master.
- Або також: Event
Подія – це обʼєкт Kubernetes, який описує зміну стану або помітні події в системі.
[+]Події мають обмежений час зберігання, а причини та повідомлення можуть змінюватися з часом. Споживачі подій не повинні покладатися на терміни події із зазначеною причиною, що відображає стан основної причини, або продовження існування подій з цієї причини.
Події слід розглядати як інформаційні дані, що надаються як найкраще, та які є додатковими даними.
У Kubernetes аудит генерує інший вид Подій (API-група
audit.k8s.io
). - Або також: Pod Security Policy
Дозволяють деталізовану авторизацію створення та оновлення Podʼів.
[+]Ресурс на рівні кластера, який контролює аспекти безпеки, що стосуються специфікації Podʼа. Обʼєкти
PodSecurityPolicy
визначають набір умов, якими повинен відповідати Pod, щоб його можна було прийняти в систему, а також стандартні значення для повʼязаних полів. Керування політикою безпеки Podʼа реалізується як додатковий контролер допуску.Починаючи з Kubernetes v1.21,
PodSecurityPolicy
визнано застарілими, а з v1.25 — видалено. Як альтернативу, використовуйте Pod Security Admission або сторонній втулок допуску. - Або також: Workload
Робоче навантаження є застосунком, який запущено в Kubernetes.
[+]Різноманітні основні обʼєкти, які представляють різні типи або частини робочого навантаження, включають обʼєкти DaemonSet, Deployment, Job, ReplicaSet та StatefulSet.
Наприклад, робоче навантаження, що має вебсервер та базу даних має запускати базу даних в одному StatefulSet та вебсервер в Deployment.
- Або також: Disruption
Розлади — це події, які призводять до виходу з ладу одного чи кількох Podʼів. Розлад має наслідки для ресурсів робочого навантаження, таких як Deployment, які покладаються уражені Podʼі.
[+]Якщо ви, як оператор кластера, знищуєте Pod, який належить застосунку, Kubernetes називає це добровільним розладом. Якщо Pod виходить з ладу через відмову вузла або відмову, яка впливає на широку зону відмов, Kubernetes називає це невільним розладом.
Докладніше дивіться в розділі Розлади.
- Або також: Extension
Розширення — це компоненти програмного забезпечення, які розширюють і глибоко інтегруються з Kubernetes для підтримки нових типів обладнання.
[+]Багато адміністраторів кластерів використовують екземпляри Kubernetes, дистрибутиви встановлені самостійно чи надані постачальниками послуг. Ці кластери вже мають попередньо встановлені розширення. В результаті більшість користувачів Kubernetes можуть не потребувати встановлення розширень, і ще менше користувачів можуть потребувати створення нових.
- Або також: Container Runtime
Основний компонент, який дозволяє Kubernetes ефективно запускати контейнери. Він відповідає за керування виконанням і життєвим циклом контейнерів у середовищі Kubernetes.
[+]Kubernetes підтримує середовища виконання контейнерів, такі як containerd, CRI-O, та будь-яку іншу реалізацію Kubernetes CRI (інтерфейс виконання контейнерів).
- Або також: Affinity, Афінітет
У Kubernetes Affinity — це набір правил, які дають підказки планувальнику, де розміщувати Podʼи.
[+]Є два види спорідненості:
Правила визначаються за допомогою міток, та селекторів, вказаних в Podʼах, і вони можуть бути обовʼязковими або бажаними, залежно від того, наскільки суворо ви хочете, щоб планувальник їх дотримувався.
- Або також: Volume
Тека, що містить дані та доступна для контейнерів у Podʼі.
[+]Том Kubernetes існує так довго, як і Pod, який його містить. Відповідно, том існує довше, ніж будь-які контейнери, які працюють у межах Podʼа, і дані в томі зберігаються при перезапуску контейнера.
Дивіться сховище для отримання додаткової інформації.
- Або також: Duration
Рядкове значення, що представляє кількість часу.
[+]Формат тривалості (Kubernetes) базується на типі
time.Duration
з мови програмування Go.У Kubernetes API, які використовують тривалість, значення виражається у вигляді ряду додатних цілих чисел у поєднанні з суфіксом одиниці часу. Ви можете мати більше одного значення часу і тривалість є сумою цих часових величин. Допустимими одиницями часу є
ns
,µs
(абоus
),ms
,s
,m
іh
.Наприклад:
5s
означає тривалість часу у пʼять секунд, а1m30s
означає тривалість часу в одну хвилину і тридцять секунд. - Або також: Feature gate
Функціональні можливості містять набір ключів (прихованих значень), які ви можете використовувати для контролю того, які функції Kubernetes увімкнені у вашому кластері.
[+]Ви можете вмикати або вимикати функції, використовуючи прапорець командного рядка
--feature-gates
для кожного компонента Kubernetes. Кожен компонент Kubernetes дозволяє вам увімкнути чи вимкнути набори функціональних можливостей, які є відповідними для цього компонента. У документації Kubernetes перелічено всі поточні набори функціональних можливостей та те, що вони контролюють.
Змінено June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)