Визначення


APIGroup

APIGroup містить назву, підтримувані версії та бажану версію групи.

APIResource

APIResource визначає назву ресурсу та чи є він обмеженим простором імен.

APIVersions

APIVersions перелічує доступні версії, щоб дозволити клієнтам виявляти API за адресою /api, яка є кореневим шляхом для застарілого API v1.

BasicDevice

BasicDevice визначає один екземпляр пристрою.

Binding

Binding повʼязує один обʼєкт з іншим; наприклад, под привʼязується до вузла за допомогою планувальника.

Condition

Condition містить деталі щодо одного аспекту поточного стану цього API ресурсу.

DeleteOptions

DeleteOptions можуть бути надані під час видалення обʼєкта API.

EventSource

EventSource містить інформацію про подію.

Eviction

Eviction виселяє под з його вузла відповідно до певних політик та обмежень безпеки. Є субресурсом Pod. Запит на виклик такого виселення створюється шляхом POST до .../pods/<pod name>/evictions.

FieldSelectorAttributes

FieldSelectorAttributes вказує на обмежений доступ до поля. Розробникам вебхуків рекомендується:

  • переконатися, що rawSelector і requirements не встановлені одночасно
  • враховувати поле requirements, якщо воно встановлене
  • не намагатися аналізувати або враховувати поле rawSelector, якщо воно встановлене.

Це робиться для уникнення ще одного CVE-2022-2880 (тобто змусити різні системи погодитися щодо точного способу аналізу запиту — це не те, що ми хочемо), див. https://www.oxeye.io/resources/golang-parameter-smuggling-attack для отримання додаткової інформації.

Для точок доступу *SubjectAccessReview kube-apiserver:

  • Якщо rawSelector порожній і requirements порожні, запит не обмежений.
  • Якщо rawSelector присутній і requirements порожні, rawSelector буде проаналізований і обмежений, якщо аналіз успішний.
  • Якщо rawSelector порожній і requirements присутні, слід дотримуватися requirements
  • Якщо rawSelector присутній і requirements присутні, запит недійсний.

FieldSelectorRequirement

FieldSelectorRequirement є селектором, який містить значення, ключ та оператор, що повʼязує ключ і значення.

FieldsV1

FieldsV1 зберігає набір полів у структурі даних, подібній до Trie, у форматі JSON.

Кожен ключ є або '.', що представляє саме поле, і завжди зіставляється з порожнім набором, або рядком, що представляє підполе або елемент. Рядок буде слідувати одному з цих чотирьох форматів: 'f:<name>', де <name> є імʼям поля в структурі або ключем у мапі 'v:<value>', де <value> є точним JSON-форматованим значенням елемента списку 'i:<index>', де <index> є позицією елемента в списку 'k:<keys>', де <keys> є мапою зіставлення полів ключів елемента списку до їх унікальних значень. Якщо ключ зіставляєтсья з порожнім значенням Fields, поле, яке представляє цей ключ, є частиною набору.

Точний формат визначено в sigs.k8s.io/structured-merge-diff

GroupResource

GroupResource визначає Group та Resource, але не вимагає версію. Це корисно для ідентифікації концепцій під час етапів пошуку без частково дійсних типів

GroupVersionForDiscovery

GroupVersion містить рядки "group/version" та "version" версії. Зроблено у вигляді struct для збереження розширюваності.

LabelSelector

label selector є запитом міток до набору ресурсів. Результат matchLabels та matchExpressions обʼєднується за допомогою AND. Порожній селектор міток відповідає всім обʼєктам. Значення null селектора міток не відповідає жодному обʼєкту.

LabelSelectorAttributes

LabelSelectorAttributes вказує на обмежений доступ за мітками. Розробникам вебхуків рекомендується:

  • переконатися, що rawSelector та requirements не встановлені одночасно
  • враховувати поле requirements, якщо воно встановлене
  • не намагатися аналізувати або враховувати поле rawSelector, якщо воно встановлене.

Це робиться для уникнення ще одного CVE-2022-2880 (тобто змусити різні системи погодитися щодо того, як саме аналізувати запит, не є бажаним), див. https://www.oxeye.io/resources/golang-parameter-smuggling-attack для отримання додаткової інформації. Для кінцевих точок *SubjectAccessReview kube-apiserver:

  • Якщо rawSelector порожній і requirements порожні, запит не обмежений.
  • Якщо rawSelector присутній і requirements порожні, rawSelector буде проаналізований і обмежений, якщо аналіз успішний.
  • Якщо rawSelector порожній і requirements присутні, requirements повинні бути враховані.
  • Якщо rawSelector присутній і requirements присутні, запит недійсний."

LabelSelectorRequirement

label selector requirement є селектором, який містить значення, ключ та оператор, що повʼязує ключ і значення.

ListMeta

ListMeta описує метадані, які повинні мати синтетичні ресурси, включаючи списки та різні обʼєкти стану. Ресурс може мати лише один з {ObjectMeta, ListMeta}.

LocalObjectReference

LocalObjectReference містить достатньо інформації, щоб дозволити вам знайти вказаний обʼєкт всередині того самого простору імен.

LocalSubjectAccessReview

LocalSubjectAccessReview перевіряє, чи може користувач або група виконати дію в заданому просторі імен. Наявність ресурсу з обмеженням за простором імен значно спрощує надання політики з обмеженням за простором імен, яка включає перевірку дозволів.

ManagedFieldsEntry

ManagedFieldsEntry є ідентифікатором робочого процесу, набором полів (FieldSet) та версією групи ресурсу, до якого застосовується цей набір полів.

MatchCondition

MatchCondition представляє умову, яка повинна бути виконана, щоб запит був надісланий вебхуку.

MatchResources

MatchResources вирішує, чи запускати політику контролю доступу до обʼєкта на основі того, чи відповідає він критеріям відповідності. Правила виключення мають пріоритет над правилами включення (якщо ресурс відповідає має збіг з обома, він виключається)

MicroTime

MicroTime є версією Time з точністю до мікросекунд.

NamedRuleWithOperations

NamedRuleWithOperations є кортежем Operations та Resources з ResourceNames.

NodeSelector

Селектор вузлів являє собою об’єднання результатів одного або декількох запитів за мітками щодо набору вузлів; іншими словами, він являє собою об’єднання за оператором OR селекторів, представлених термінами селектора вузлів.

NodeSelectorTerm

Селектор вузлів з нульовим або порожнім значенням не відповідає жодному об’єкту. Вимоги до них об’єднуються логічним оператором AND. Тип TopologySelectorTerm реалізує підмножину NodeSelectorTerm.

NonResourceAttributes

NonResourceAttributes містить атрибути авторизації, доступні для запитів, що не стосуються ресурсів, до інтерфейсу Authorizer

NonResourceRule

NonResourceRule містить інформацію, що описує правило для обʼєктів, які не є ресурсами

ObjectMeta

ObjectMeta містить метадані, які повинні містити всі ресурси, що зберігаються в системі, зокрема всі об’єкти, які створюють користувачі.

ObjectReference

ObjectReference містить достатньо інформації, щоб ви могли перевірити або змінити об’єкт, на який вона посилається.

OwnerReference

OwnerReference містить достатньо інформації, щоб ви могли ідентифікувати об’єкт-власник. Об’єкт-власник повинен знаходитися в тому ж просторі імен, що й залежний об’єкт, або бути глобальним, тому поле простору імен відсутнє.

ParamKind

ParamKind є кортежем Group Kind та Version.

ParamRef

ParamRef описує, як знайти параметри, які будуть використані як вхідні дані для виразів правил, застосованих політикою.

Patch

Patch надається для того, щоб надати конкретне імʼя та тип тілу запиту Kubernetes PATCH.

PolicyRule

PolicyRule містить інформацію, яка описує правило політики, але не містить інформації про те, до кого застосовується правило або до якого простору імен застосовується правило.

Preconditions

Preconditions повинні бути виконані перед виконанням операції (оновлення, видалення тощо).

Quantity

Quantity — це представлення числа у форматі з фіксованою комою. Воно забезпечує зручну серіалізацію та десеріалізацію у форматах JSON та YAML, а також має доступ до String() та AsInt64().

Формат серіалізації такий:

<quantity>        ::= <signedNumber><suffix>

  (Зверніть увагу, що <suffix> може бути порожнім, як у випадку з "" у <decimalSI>.)

<digit>           ::= 0 | 1 | ... | 9
<digits>          ::= <digit> | <digit><digits>
<number>          ::= <digits> | <digits>.<digits> | <digits>. | .<digits>
<sign>            ::= "+" | "-"
<signedNumber>    ::= <number> | <sign><number>
<suffix>          ::= <binarySI> | <decimalExponent> | <decimalSI>
<binarySI>        ::= Ki | Mi | Gi | Ti | Pi | Ei

  (Міжнародна система одиниць; Див.: http://physics.nist.gov/cuu/Units/binary.html)

<decimalSI>       ::= m | "" | k | M | G | T | P | E

  (Зверніть увагу, що 1024 = 1Ki, але 1000 = 1k; Не ми обирали капіталізацію.)

<decimalExponent> ::= "e" <signedNumber> | "E" <signedNumber>

Незалежно від того, яка з трьох форм експоненти використовується, жодна величина не може перевищувати 2^63-1 за абсолютним значенням, а також не може мати більше 3 знаків після коми. Числа, що перевищують ці межі або є точнішими, будуть обмежені або округлені в більшу сторону. (Наприклад: 0,1 м буде округлено до 1 м.) У майбутньому ці обмеження можуть бути розширені, якщо виникне потреба у більших або менших величинах.

Коли Quantity аналізується з рядка, воно запамʼятовує тип суфікса, який у нього був, і використовує той самий тип під час серіалізації.

Перед серіалізацією Quantity буде приведено до "канонічної форми". Це означає, що експонента/суфікс буде відрегульовано вгору або вниз (з відповідним збільшенням або зменшенням мантиси) таким чином:

  • Точність не буде втрачена
  • Дробові цифри не виводяться — показник ступеня (або суфікс) є максимально великим. Знак буде опущено, якщо число не відʼємне.

Приклади:

  • 1.5 буде серіалізовано як "1500m"
  • 1.5Gi буде серіалізовано як "1536Mi"

Зверніть увагу, що величина НІКОЛИ не буде внутрішньо представлена як число з рухомою комою. Саме в цьому і полягає суть цього підходу.

Неканонічні значення все ще будуть розпізнаватися, якщо вони правильно сформовані, але будуть повторно виведені у своїй канонічній формі. (Тому завжди використовуйте канонічну форму або не порівнюйте їх.)

Цей формат розроблено з метою ускладнити використання цих чисел без написання спеціального коду для їх обробки, в надії, що це спонукає розробників також застосовувати реалізацію з фіксованою комою.

ResourceAttributes

ResourceAttributes включає атрибути авторизації, доступні для запитів ресурсів до інтерфейсу Authorizer

ResourceRule

ResourceRule є списком дій, які субʼєкт може виконувати над ресурсами. Порядок у списку не має значення, можуть бути дублікати, і можливо, що список є неповний.

RoleRef

RoleRef містить інформацію, яка вказує на роль, що використовується

RuleWithOperations

RuleWithOperations є кортежем Operations та Resources. Рекомендується переконатися, що всі розширення кортежу є дійсними.

Scale

Scale представляє запит на масштабування ресурсу.

SelfSubjectAccessReview

SelfSubjectAccessReview перевіряє, чи може поточний користувач виконати дію. Не заповнення spec.namespace означає "у всіх просторах імен". Self є особливим випадком, оскільки користувачі завжди повинні мати можливість перевірити, чи можуть вони виконати дію

SelfSubjectReview

SelfSubjectReview містить інформацію про користувача, яку kube-apiserver має про користувача, який робить цей запит. При використанні імперсоніфікації користувачі отримають інформацію про користувача, якого імітують. Якщо використовується імітація або автентифікація за заголовком запиту, будь-які додаткові ключі будуть ігнорувати регістр і повертатися у нижньому регістрі.

SelfSubjectRulesReview

SelfSubjectRulesReview перераховує набір дій, які поточний користувач може виконувати в межах простору імен. Отриманий список дій може бути неповним залежно від режиму авторизації сервера та будь-яких помилок, що виникли під час оцінки. SelfSubjectRulesReview слід використовувати інтерфейсами користувача для показу/приховування дій або для швидкого дозволу кінцевому користувачу оцінити свої права. Його НЕ слід використовувати зовнішніми системами для прийняття рішень про авторизацію, оскільки це викликає проблеми з плутаним довіреним, часом життя кешу/скасуванням та правильністю. SubjectAccessReview та LocalAccessReview є правильним способом делегування рішень про авторизацію серверу API.

ServerAddressByClientCIDR

ServerAddressByClientCIDR допомагає клієнту визначити адресу сервера, яку вони повинні використовувати, залежно від clientCIDR, з яким вони збігаються.

ServiceReference

ServiceReference містить посилання на Service.legacy.k8s.io

ShardInfo

ShardInfo описує селектор шарда, який був застосований для отримання списку. Його наявність у відповіді списку вказує на те, що список є відфільтрованою підмножиною.

Status

Status є значенням, що повертається для викликів, які не повертають інші обʼєкти.

StatusCause

StatusCause надає більше інформації про помилку api.Status, включаючи випадки, коли виникає кілька помилок.

StatusDetails

StatusDetails є набором додаткових властивостей, які МОЖУТЬ бути встановлені сервером для надання додаткової інформації про відповідь. Поле Reason обʼєкта Status визначає, які атрибути будуть встановлені. Клієнти повинні ігнорувати поля, які не відповідають визначеному типу кожного атрибута, і повинні припускати, що будь-який атрибут може бути порожнім, недійсним або недостатньо визначеним.

Subject

Subject містить посилання на обʼєкт або ідентичності користувачів, до яких застосовується привʼязка ролі. Це може бути пряме посилання на обʼєкт API або значення для не-обʼєктів, таких як імена користувачів і груп.

SubjectAccessReview

SubjectAccessReview перевіряє, чи може користувач або група виконати певну дію.

SubjectRulesReviewStatus

SubjectRulesReviewStatus містить результат перевірки правил. Ця перевірка може бути неповною залежно від набору авторизаторів, з якими налаштований сервер, та будь-яких помилок, що виникли під час оцінки. Оскільки правила авторизації є адитивними, якщо правило зʼявляється в списку, можна вважати, що субʼєкт має цей дозвіл, навіть якщо список неповний.

Time

Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Надаються обгортки для багатьох фабричних методів, які пропонує пакет time.

TokenReview

TokenReview намагається автентифікувати токен для відомого користувача. Примітка: запити TokenReview можуть кешуватися втулком веб-хука автентифікації токенів у kube-apiserver.

Toleration

Под, до якого прикріплено цей Toleration, толерує будь-який taint, що відповідає трійці <key,value,effect> за допомогою оператора <operator>.

TypedLocalObjectReference

TypedLocalObjectReference містить достатньо інформації, щоб дозволити вам знаходити типізований згаданий обʼєкт всередині того ж простору імен.

TypedLocalObjectReference

TypedLocalObjectReference дозволяє посилатися на типізований обʼєкт всередині того ж простору імен.

UserInfo

UserInfo містить інформацію про користувача, необхідну для реалізації інтерфейсу user.Info.

Variable

Variable визначає змінну, яка використовується для композиції. Змінна визначається як іменований вираз.

WatchEvent

Event представляє окрему подію для спостережуваного ресурсу.

WebhookClientConfig

WebhookClientConfig містить інформацію для встановлення TLS-зʼєднання з вебхуком

Востаннє змінено June 10, 2026 at 8:00 PM PST: [uk] Ukrainian translation (all-in-one) (4e8fe0f729)