1 - DeviceClass

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

apiVersion: resource.k8s.io/v1

import "k8s.io/api/resource/v1"

DeviceClass

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


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартні метадані обʼєкта
spec *
DeviceClassSpec
Spec визначає, що можна виділити та як це налаштувати. Це змінюване поле. Споживачі повинні бути готові до змін класів у будь-який час, або через їх оновлення, або заміну. Розподілення заявок здійснюється один раз на основі того, що було встановлено в класах на момент виділення. Зміна spec автоматично збільшує номер metadata.generation.

DeviceClassSpec

DeviceClassSpec використовується в DeviceClass для визначення того, що можна виділити та як це налаштувати.


ПолеОпис
config
DeviceClassConfiguration array
Config визначає параметри конфігурації, які застосовуються до кожного пристрою, що заявлений через цей клас. Деякі класи можуть потенційно задовольнятися кількома драйверами, тому кожен екземпляр конфігурації постачальника застосовується точно до одного драйвера. Вони передаються драйверу, але не враховуються при розподілі заявки.
extendedResourceName
string
ExtendedResourceName є розширеною назвою ресурсу для пристроїв цього класу. Пристрої цього класу можуть використовуватися для задоволення запитів на розширені ресурси пода. Вона має той самий формат, що й назва розширеного ресурсу пода. Вона повинна бути унікальною серед усіх класів пристроїв у кластері. Якщо два класи пристроїв мають однакову назву, то для задоволення запитів на розширені ресурси пода обирається клас, створений пізніше. Якщо два класи створені одночасно, то обирається клас, назва якого лексикографічно перша. Це бета-поле.
selectors
DeviceSelector array
Кожен селектор повинен бути задоволений пристроєм, який заявлений через цей клас.

DeviceClassList

DeviceClassList є колекцією класів.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
DeviceClass array
Items є списком класів ресурсів.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

CELDeviceSelector

CELDeviceSelector містить CEL-вираз для вибору пристрою.


ПолеОпис
expression *
string

Expression є виразом CEL, який оцінює один пристрій. Він повинен оцінюватися як true, коли розглянутий пристрій відповідає бажаним критеріям, і як false, коли не відповідає. Будь-який інший результат є помилкою і призводить до припинення виділення пристроїв.

Вхідні дані: вираз отримує об'єкт з назвою "device", який має наступні властивості:

  • driver (string): назва драйвера, який визначає цей пристрій.
  • attributes (map[string]object): атрибути пристрою, згруповані за префіксом (наприклад, device.attributes["dra.example.com"] оцінюється як об'єкт з усіма атрибутами, які мали префікс "dra.example.com").
  • capacity (map[string]object): ємності пристрою, згруповані за префіксом.
  • allowMultipleAllocations (bool): властивість allowMultipleAllocations пристрою (v1.34+ з увімкненою функцією DRAConsumableCapacity).

Приклад: Розглянемо пристрій з driver="dra.example.com", який має два атрибути з назвами "model" та "ext.example.com/family" і один ресурс з назвою "modules". Вхідні дані для цього виразу матимуть наступні поля:

  device.driver
  device.attributes["dra.example.com"].model
  device.attributes["ext.example.com"].family
  device.capacity["dra.example.com"].modules
        

Поле device.driver можна використовувати для перевірки конкретного драйвера, або як високорівневу передумову (тобто ви хочете розглядати лише пристрої від цього драйвера), або як частину виразу з кількома умовами, який призначений для розгляду пристроїв від різних драйверів.

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

Якщо використовується невідомий префікс для пошуку в device.attributes або device.capacity, буде повернута порожня мапа. Будь-яке посилання на невідоме поле призведе до помилки оцінки та припинення виділення.

Надійний вираз повинен перевіряти наявність атрибутів перед їх використанням.

Для зручності використання функція cel.bind() увімкнена і може використовуватися для спрощення виразів, які отримують доступ до кількох атрибутів з одного домену. Наприклад:

cel.bind(dra, device.attributes["dra.example.com"], dra.someBool && dra.anotherBool)

Коли функціональна можливість DRAListTypeAttributes увімкнена, доступний допоміжний метод includes(), який може працювати як для скалярних, так і для спискових атрибутів. Він був введений для підтримки плавної міграції від скалярних атрибутів до спискових, зберігаючи простоту виразів CEL. Наприклад:

 device.attributes["dra.example.com"].models.includes("some-model")

Довжина виразу повинна бути меншою або рівною 10 Ki. Вартість його оцінки також обмежена на основі оціненої кількості логічних кроків.

DeviceClassConfiguration

DeviceClassConfiguration використовується в DeviceClass.


ПолеОпис
opaque
OpaqueDeviceConfiguration
Opaque надає параметри конфігурації, специфічні для драйвера.

DeviceSelector

DeviceSelector повинен мати встановлене рівно одне поле.


ПолеОпис
cel
CELDeviceSelector
CEL містить вираз CEL для вибору пристрою.

OpaqueDeviceConfiguration

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


ПолеОпис
driver *
string
Driver використовується для визначення, який втулок kubelet повинен отримати ці параметри конфігурації. Політика допуску, надана розробником драйвера, може використовувати це для вирішення, чи потрібно їй перевіряти їх. Повинно бути субдоменом DNS і повинно закінчуватися доменом DNS, що належить постачальнику драйвера. Повинно використовувати лише малі літери.
parameters *
Parameters можуть містити довільні дані. Відповідальність за перевірку та керування версіями покладається на розробника драйверів. Зазвичай це включає самоідентифікацію та версію ("kind" + "apiVersion" для типів Kubernetes), а також конвертацію між різними версіями. Довжина вихідних даних повинна бути меншою або дорівнювати 10 Ki.

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1/deviceclasses

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyDeviceClass

Відповідь

СтатусОписВідповідь
200OKDeviceClass
201CreatedDeviceClass
202AcceptedDeviceClass

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1/deviceclasses/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceClass

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKDeviceClass
201CreatedDeviceClass

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1/deviceclasses/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceClass

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyDeviceClass

Відповідь

СтатусОписВідповідь
200OKDeviceClass
201CreatedDeviceClass

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1/deviceclasses/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceClass

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKDeviceClass
202AcceptedDeviceClass

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1/deviceclasses

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1/deviceclasses/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceClass

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKDeviceClass

get List

HTTP Запит

GET /apis/resource.k8s.io/v1/deviceclasses

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKDeviceClassList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/deviceclasses/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceClass

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/deviceclasses

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

2 - DeviceTaintRule

DeviceTaintRule додає одну позначку taint до всіх пристроїв, які відповідають селектору. Це має той самий ефект, якби taint був вказаний безпосередньо в ResourceSlice драйвером DRA.

apiVersion: resource.k8s.io/v1beta2

import "k8s.io/api/resource/v1beta2"

DeviceTaintRule

DeviceTaintRule додає одну позначку taint до всіх пристроїв, які відповідають селектору. Це має той самий ефект, якби taint був вказаний безпосередньо в ResourceSlice драйвером DRA.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартні метадані обʼєкта
spec *
DeviceTaintRuleSpec
Spec визначає селектор та одну позначку taint. Зміна spec автоматично збільшує номер metadata.generation.
status
DeviceTaintRuleStatus
Status надає інформацію про те, що було запрошено в spec.

DeviceTaintRuleSpec

DeviceTaintRuleSpec визначає селектор та одну позначку taint.


ПолеОпис
deviceSelector
DeviceTaintSelector
DeviceSelector визначає, до яких пристроїв застосовується taint. Всі критерії селектора повинні бути виконані, щоб пристрій відповідав умовам. Порожній селектор відповідає всім пристроям. Без селектора жоден пристрій не відповідає умовам.
taint *
DeviceTaint
Позначка taint, яка застосовується до відповідних пристроїв.

DeviceTaintRuleStatus

DeviceTaintRuleStatus надає інформацію про поточне виселення подів.


ПолеОпис
conditions
Condition array
patch strategy: merge on key type
Conditions надають інформацію про стан DeviceTaintRule та кластера в певний момент часу у машинозчитуваному та зручному для людини форматі. Поточний стан визначається як частина цього API, можуть бути додані інші:
  • Type: EvictionInProgress
  • Status: True, якщо наразі є поди, які потрібно виселити, False в іншому випадку (включає ефекти, які не призводять до виселення).
  • Reason: не вказано, може змінюватися
  • Message: містить інформацію про кількість очікуючих подів та вже виселених подів у зручному для людини форматі, оновлюється періодично, може змінюватися
Для effect: None, наведена вище умова встановлюється один раз для кожної зміни в spec, з повідомленням, що містить інформацію про те, що станеться, якщо ефект буде NoExecute. Цей відгук можна використовувати для вирішення, чи змінювати ефект на NoExecute буде працювати як задумано. Він встановлюється лише один раз, щоб уникнути постійного оновлення статусу. Має містити не більше 8 записів.

DeviceTaintRuleList

DeviceTaintRuleList є колекцією DeviceTaintRules.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
DeviceTaintRule array
Items є списком DeviceTaintRules.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

DeviceTaintSelector

DeviceTaintSelector визначає, до яких пристроїв застосовується DeviceTaintRule. Порожній селектор має збіг зі всіма пристроями. Без селектора жоден пристрій збігу не має.


ПолеОпис
device
string
Якщо device встановлено, вибираються лише пристрої з цим імʼям. Це поле відповідає slice.spec.devices[].name. Може знадобитися також встановити driver та pool, щоб уникнути неоднозначності, але це не обовʼязково.
driver
string
Якщо driver встановлено, вибираються лише пристрої з цим драйвером. Це поле відповідає slice.spec.driver.
pool
string
Якщо pool встановлено, вибираються лише пристрої з цього пулу. Також може бути корисно встановити імʼя драйвера, щоб уникнути неоднозначності, коли різні драйвери використовують однакове імʼя пулу, але це не обовʼязково, оскільки вибір пулів від різних драйверів також може бути корисним, наприклад, коли драйвери з локальними пристроями на вузлі використовують імʼя вузла як імʼя пулу.

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyDeviceTaintRule

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
201CreatedDeviceTaintRule
202AcceptedDeviceTaintRule

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
201CreatedDeviceTaintRule

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyDeviceTaintRule

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
201CreatedDeviceTaintRule

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
202AcceptedDeviceTaintRule

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule

get List

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRuleList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/watch/devicetaintrules/{name}

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/watch/devicetaintrules

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

patch Patch Status

HTTP Запит

PATCH /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
201CreatedDeviceTaintRule

get Read Status

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule

put Replace Status

HTTP Запит

PUT /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва DeviceTaintRule

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyDeviceTaintRule

Відповідь

СтатусОписВідповідь
200OKDeviceTaintRule
201CreatedDeviceTaintRule

3 - ResourceClaim

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

apiVersion: resource.k8s.io/v1

import "k8s.io/api/resource/v1"

ResourceClaim

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


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартні метадані обʼєкта
spec *
ResourceClaimSpec
Spec описує, що запитується і як це налаштовується. Spec є незмінним.
status
ResourceClaimStatus
Status описує, чи готовий запит до використання і що було виділено.

ResourceClaimSpec

ResourceClaimSpec визначає, що запитується в ResourceClaim і як це налаштовується.


ПолеОпис
devices
DeviceClaim
Devices визначає, як запитувати пристрої.

ResourceClaimStatus

ResourceClaimStatus відстежує, чи було виділено ресурс і який був результат цього виділення.


ПолеОпис
allocation
AllocationResult
Allocation встановлюється після успішного виділення запиту.
devices
AllocatedDeviceStatus array
Devices містить стан кожного пристрою, виділеного для цього запиту, як повідомляє драйвер. Це може включати інформацію, специфічну для драйвера. Записи належать відповідним драйверам.
reservedFor
ResourceClaimConsumerReference array
patch strategy: злиття за ключем uid

ReservedFor вказує, які сутності наразі мають право використовувати запит. Pod, який посилається на ResourceClaim, який не зарезервований для цього Podʼа, не буде запущено. Запит, який використовується або може бути використаний, оскільки він був зарезервований, не повинен бути деалокований.

У кластері з кількома екземплярами планувальника два Podʼи можуть бути заплановані одночасно різними планувальниками. Коли вони посилаються на той самий ResourceClaim, який вже досяг максимальної кількості споживачів, лише один Pod може бути запланований.

Обидва планувальники намагаються додати свій Pod до поля claim.status.reservedFor, але лише оновлення, яке першим досягає API-сервера, зберігається. Інше оновлення завершується з помилкою, і планувальник, який його видав, знає, що він повинен повернути Pod назад у чергу, чекаючи, поки ResourceClaim знову стане доступним.

Може бути не більше 256 таких резервувань. Це число може бути збільшене в майбутньому, але не зменшене.

ResourceClaimList

ResourceClaimList є колекцією заявок.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ResourceClaim array
Items є списком заявок на ресурси.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

AllocatedDeviceStatus

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

Комбінація Driver, Pool, Device та ShareID повинна відповідати відповідному ключу в Status.Allocation.Devices.


ПолеОпис
conditions
Condition array
Conditions містить останнє спостереження стану пристрою. Якщо пристрій було налаштовано відповідно до класу та посилань на конфігурацію заявки, стан Ready повинна бути True. Не повинно містити більше 8 записів.
data
Data містить довільні дані, специфічні для драйвера. Довжина сирих даних повинна бути меншою або рівною 10 Ki.
device *
string
Device посилається на один екземпляр пристрою за його імʼям у пулі ресурсів драйвера. Це повинно бути DNS-міткою.
driver *
string
Driver вказує назву драйвера DRA, втулок kubelet якого повинен бути викликаний для обробки виділення, коли заявка потрібна на вузлі. Повинно бути субдоменом DNS і закінчуватися доменом DNS, що належить постачальнику драйвера. Повинно використовувати лише малі літери.
networkData
NetworkDeviceData
NetworkData містить інформацію, повʼязану з мережею, специфічну для пристрою.
pool *
string
Це імʼя разом із назвою драйвера та полем імені пристрою визначає, який пристрій було виділено (<driver name>/<pool name>/<device name>). Не повинно бути довшим за 253 символи і може містити один або кілька піддоменів DNS, розділених слешами.
shareID
string
ShareID унікально ідентифікує окрему частку виділення пристрою.

AllocationResult

AllocationResult містить атрибути виділеного ресурсу.


ПолеОпис
allocationTimestamp
Time
AllocationTimestamp зберігає час, коли ресурси були виділені. Це поле не гарантується до встановлення, у такому випадку час невідомий. Це бета-поле і вимагає увімкнення функцій DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.
devices
DeviceAllocationResult
Devices містить результат виділення пристроїв.
nodeSelector
NodeSelector
NodeSelector визначає, де доступні виділені ресурси. Якщо не встановлено, вони доступні скрізь.

CapacityRequirements

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


ПолеОпис
requests
object

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

Це значення використовується як додаткова умова фільтрації проти доступної ємності на пристрої. Це семантично еквівалентно селектору CEL з device.capacity[<domain>].<name>.compareTo(quantity(<request quantity>)) >= 0. Наприклад, device.capacity['test-driver.cdi.k8s.io'].counters.compareTo(quantity('2')) >= 0.

Коли визначено requestPolicy, запитана кількість коригується вгору до найближчого допустимого значення на основі політики. Якщо запитана кількість не може бути скоригована до допустимого значення, тому що вона перевищує те, що дозволяє requestPolicy, пристрій вважається непридатним для виділення.

Для будь-якої ємності, яка явно не запитується:

  • Якщо requestPolicy не встановлено, споживана ємність зазвичай дорівнює повній ємності пристрою (тобто весь пристрій затребувано).
  • Якщо requestPolicy встановлено, споживана ємність зазвичай визначається відповідно до цієї політики. Якщо пристрій дозволяє кілька виділень, агрегована кількість по всіх запитах не повинна перевищувати значення ємності. Споживана ємність, яка може бути скоригована на основі requestPolicy, якщо вона визначена, записується в поле status.devices[*].consumedCapacity ресурсу claim.

DeviceAllocationConfiguration

DeviceAllocationConfiguration вбудовується в об’єкт AllocationResult.


ПолеОпис
opaque
OpaqueDeviceConfiguration
Opaque надає параметри конфігурації, специфічні для драйвера.
requests
string array
Requests перераховує імена запитів, до яких застосовується конфігурація. Якщо порожньо, конфігурація застосовується до всіх запитів. Посилання на підзапити повинні включати імʼя основного запиту і можуть включати підзапит у форматі <main request>[/<subrequest>]. Якщо вказано лише основний запит, конфігурація застосовується до всіх підзапитів.
source *
string
Source записує, чи конфігурація походить від класу, і таким чином не є чимось, що звичайний користувач міг би встановити, або від запиту.

Можливі значення enum:
  • "FromClaim"
  • "FromClass"

DeviceAllocationResult

DeviceAllocationResult є результатом виділення пристроїв.


ПолеОпис
config
DeviceAllocationConfiguration array
Це поле є комбінацією всіх параметрів конфігурації запиту та класу. Драйвери можуть відрізняти їх на основі прапорця. Це включає параметри конфігурації для драйверів, які не мають виділених пристроїв у результаті, оскільки це залежить від драйверів, які параметри конфігурації вони підтримують. Вони можуть мовчки ігнорувати невідомі параметри конфігурації.
results
DeviceRequestAllocationResult array
Results перераховує всі виділені пристрої.

DeviceClaim

DeviceClaim визначає, як запитувати пристрої за допомогою ResourceClaim.


ПолеОпис
config
DeviceClaimConfiguration array
Це поле містить конфігурацію для кількох потенційних драйверів, які можуть задовольнити запити у цій заявці. Воно ігнорується під час призначення заявки.
constraints
DeviceConstraint array
Ці обмеження повинні бути виконані набором пристроїв, які виділяються для заявки.
requests
DeviceRequest array
Requests представляє окремі запити на різні пристрої, які всі повинні бути задоволені. Якщо порожньо, нічого не потрібно виділяти.

DeviceClaimConfiguration

DeviceClaimConfiguration використовується для параметрів конфігурації в DeviceClaim.


ПолеОпис
opaque
OpaqueDeviceConfiguration
Opaque надає параметри конфігурації, специфічні для драйвера.
requests
string array
Requests перераховує імена запитів, до яких застосовується конфігурація. Якщо порожньо, конфігурація застосовується до всіх запитів. Посилання на підзапити повинні включати імʼя основного запиту і можуть включати підзапит у форматі <main request>[/<subrequest>]. Якщо вказано лише основний запит, конфігурація застосовується до всіх підзапитів.

DeviceConstraint

DeviceConstraint повинен мати тільки одне поле, встановлене крім Requests.


ПолеОпис
distinctAttribute
string

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

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

Це діє як протилежність MatchAttribute.

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

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

matchAttribute
string

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

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

Наприклад, якщо ви вказали "dra.example.com/numa" (гіпотетичний приклад!), то будуть обрані лише пристрої в одному й тому самому NUMA-вузлі. Пристрій, який не має цього атрибуту, не буде обраний. Усі пристрої повинні використовувати значення одного типу для цього атрибуту, оскільки це є частиною його специфікації, але якщо якийсь пристрій цього не робить, він також не буде обраний.

Має включати доменний кваліфікатор.

requests
string array

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

Посилання на підзапити повинні включати імʼя основного запиту і можуть включати підзапит у форматі <main request>[/<subrequest>]. Якщо вказано лише основний запит, обмеження застосовується до всіх підзапитів.

DeviceRequest

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


ПолеОпис
exactly
ExactDeviceRequest
Exactly вказує деталі для одного запиту, який повинен бути виконаний точно для задоволення запиту. Потрібно встановити одне з полів Exactly або FirstAvailable.
firstAvailable
DeviceSubRequest array

FirstAvailable містить підзапити, з яких планувальник вибере тільки один. Він намагається задовольнити їх у порядку, в якому вони перелічені тут. Тому, якщо в списку два записи, планувальник перевірить другий лише тоді, якщо визначить, що перший не може бути використаний.

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

name *
string

Name може використовуватись для посилання на цей запит у записі pod.spec.containers[].resources.claims та в обмеженні заявки.

Посилання з використанням імені в DeviceRequest унікально ідентифікує запит, коли встановлено поле Exactly. Коли встановлено поле FirstAvailable, посилання на ім'я DeviceRequest відповідатиме будь-якому підзапиту, обраному планувальником.

Має бути міткою DNS.

DeviceRequestAllocationResult

DeviceRequestAllocationResult містить результат розподілу для одного запиту.


ПолеОпис
adminAccess
boolean
AdminAccess вказує, що цей пристрій був виділений для адміністративного доступу. Див. відповідне поле запиту для визначення режиму. Адміністративний доступ вимкнено, якщо це поле не встановлено або встановлено в false, інакше він увімкнено.
bindingConditions
string array
BindingConditions містить копію BindingConditions з відповідного ResourceSlice на момент виділення. Це бета-поле і вимагає увімкнення функціональних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.
bindingFailureConditions
string array
BindingFailureConditions містить копію BindingFailureConditions з відповідного ResourceSlice на момент виділення. Це бета-поле і вимагає увімкнення функціональних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.
consumedCapacity
object

ConsumedCapacity відстежує кількість спожитої ємності на пристрій у рамках запиту на виділення. Спожита кількість може відрізнятися від запитаної: вона округлюється до найближчого допустимого значення на основі requestPolicy пристрою, якщо це застосовно (тобто не може бути менше запитаної кількості).

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

Це поле заповнюється лише для пристроїв, які дозволяють кілька виділень. Всі записи про ємність включені, навіть якщо спожита кількість дорівнює нулю.

device *
string
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
driver *
string

Driver визначає імʼя драйвера DRA, втулок kubelet якого повинен бути викликаний для обробки виділення, коли запит потрібен на вузлі.

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

pool *
string

Це імʼя разом з імʼям драйвера та імʼям пристрою визначає, який пристрій був виділений (<driver name>/<pool name>/<device name>).

Не повинно перевищувати 253 символи і може містити один або кілька піддоменів DNS, розділених слешами.

request *
string
Request є імʼям запиту в заявці, який спричинив виділення цього пристрою. Якщо він посилається на підзапит у списку firstAvailable у DeviceRequest, це поле повинно включати як імʼя основного запиту, так і підзапиту, використовуючи формат <main request>/<subrequest>. Може бути виділено кілька пристроїв на один запит.
shareID
string
ShareID унікально ідентифікує окрему частку виділення пристрою, використовується, коли пристрій підтримує кілька одночасних виділень. Служить додатковим ключем мапи для розрізнення одночасних часток одного й того ж пристрою.
tolerations
DeviceToleration array
Копія всіх толерацій, зазначених у запиті на момент виділення пристрою. Максимальна кількість толерацій — 16. Це бета-поле і вимагає увімкнення функціональної можливості DRADeviceTaints.

DeviceSubRequest

DeviceSubRequest описує запит на пристрій, наданий у масиві claim.spec.devices.requests[].firstAvailable. Кожен елемент зазвичай є запитом на один ресурс, наприклад, пристрій, але також може запитувати кілька ідентичних пристроїв.

DeviceSubRequest схожий на ExactDeviceRequest, але не розкриває поле AdminAccess, оскільки воно підтримується лише при запиті конкретного пристрою.


ПолеОпис
allocationMode
string

AllocationMode та повʼязані з ним поля визначають, як пристрої виділяються для задоволення цього підзапиту. Підтримувані значення:

  • ExactCount: Цей запит стосується конкретної кількості пристроїв. Це стандартне значення. Точна кількість вказується в полі count.
  • All: Цей підзапит стосується всіх відповідних пристроїв у пулі. Виділення не вдасться, якщо деякі пристрої вже виділені, якщо не запитано adminAccess.

Якщо AllocationMode не вказано, стандартний режим — ExactCount. Якщо режим ExactCount і count не вказано, стандартне значення — один. Будь-які інші підзапити повинні вказувати це поле.

У майбутньому можуть бути додані інші режими. Клієнти повинні відмовлятися обробляти запити з невідомими режимами.

Можливі значення enum:

  • `All`
  • `ExactCount`
capacity
CapacityRequirements

Capacity визначає вимоги до ресурсів для кожної ємності.

Якщо це поле не встановлено і пристрій підтримує кілька виділень, стандартне значення буде застосовано до кожної ємності відповідно до requestPolicy. Для ємності, яка не має requestPolicy, стандартне значення — повне значення ємності.

Застосовується до кожного виділення пристрою. Якщо Count > 1, запит не вдасться, якщо немає достатньої кількості пристроїв, що відповідають вимогам. Якщо AllocationMode встановлено на All, запит не вдасться, якщо є пристрої, які інакше відповідають запиту, і мають цю ємність, зі значенням >= запитаного, але які не можуть бути виділені для цього запиту.

count
integer
Count використовується лише тоді, коли режим підрахунку — "ExactCount". Має бути більше нуля. Якщо AllocationMode встановлено на ExactCount і це поле не вказано, стандартне значення — один.
deviceClassName *
string

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

Клас є обовʼязковим. Доступні класи залежать від кластера.

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

name *
string

Name може використовуватися для посилання на цей підзапит у списку обмежень або списку конфігурацій для запиту. Посилання повинні використовувати формат <main request>/<subrequest>.

Повинно бути DNS-міткою.

selectors
DeviceSelector array
Selectors визначають критерії, які повинні бути виконані конкретним пристроєм, щоб цей пристрій був розглянутий для цього підзапиту. Всі селектори повинні бути виконані, щоб пристрій був розглянутий.
tolerations
DeviceToleration array

Якщо вказано, толерації запиту.

Толерації для NoSchedule потрібні для виділення пристрою, який має позначку taint з цим ефектом. Те ж саме стосується NoExecute.

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

Максимальна кількість толерацій — 16.

Це бета-поле і вимагає увімкнення функціональної можливості DRADeviceTaints

.

DeviceToleration

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


ПолеОпис
effect
string
Effect вказує ефект taint, який має мати збіг. Порожнє значення означає відповідність всім ефектам taint. Якщо вказано, дозволені значення: NoSchedule та NoExecute.

Можливі значення enum:
  • "NoExecute" Виселити будь-які вже запущені поди, які не толерують taint пристрою.
  • "NoSchedule" Не дозволяти новим подам плануватися на використання пристрою позначеного taint, якщо вони не толерують taint, але дозволяти всім подам, поданим до Kubelet без проходження через планувальник, запускатися, і дозволяти всім вже запущеним подам продовжувати працювати.
  • "None" Без ефекту, taint є чисто інформаційним.
key
string
Key є ключем taint, до якого застосовується толерантність. Порожнє значення означає відповідність всім ключам taint. Якщо ключ порожній, оператор повинен бути Exists; ця комбінація означає відповідність всім значенням і всім ключам. Має бути імʼям мітки.
operator
string
Operator представляє відношення ключа до значення. Дійсні оператори: Exists та Equal. Стандартно використовується Equal. Exists еквівалентний символу підстановки для значення, щоб ResourceClaim міг толерувати всі taint певної категорії.

Можливі значення enum:
  • "Equal" Значення повинно точно збігатися.
  • "Exists" Існування ключа достатньо для відповідності.
tolerationSeconds
integer
TolerationSeconds представляє період часу, протягом якого толерантність (яка повинна мати ефект NoExecute, інакше це поле ігнорується) толерує taint. Стандартно не встановлено, що означає толерувати taint назавжди (не виселяти). Нульові та відʼємні значення будуть розглядатися як 0 (виселити негайно) системою. Якщо більше нуля, час, коли под потрібно виселити, обчислюється як <time when taint was added> + <toleration seconds>.
value
string
Value є значенням taint, до якого застосовується толерантність. Якщо оператор Exists, значення повинно бути порожнім, інакше це просто звичайний рядок. Має бути значенням мітки.

ExactDeviceRequest

ExactDeviceRequest є запитом на один або декілька ідентичних пристроїв.


ПолеОпис
adminAccess
boolean

AdminAccess вказує, що це запит на адміністративний доступ до пристрою(ів). Очікується, що заявки з AdminAccess використовуватимуться для моніторингу або інших служб управління пристроєм.

Вони ігнорують всі звичайні запити до пристрою щодо режимів доступу та будь-яких виділень ресурсів.

Адміністративний доступ вимкнено, якщо це поле не встановлено або встановлено в false, інакше він увімкнений.

allocationMode
string

AllocationMode та повʼязані з ним поля визначають, як пристрої виділяються для задоволення цього запиту. Підтримувані значення:

  • ExactCount: Цей запит стосується конкретної кількості пристроїв. Це стандартне значення. Точна кількість вказується у полі count.
  • All: Цей запит стосується всіх відповідних пристроїв у пулі. Принаймні один пристрій повинен існувати на вузлі для успішного виділення.

Розподіл завершиться невдачею, якщо деякі пристрої вже розподілені, за винятком випадків, коли запитується доступ адміністратора (adminAccess). Якщо параметр AllocationMode не вказано, зазвичай використовується режим ExactCount. Якщо встановлено режим ExactCount, а кількість (count) не вказано, стандартною кількістю вважається одиниця. У всіх інших запитах це поле має бути обов’язково вказано.

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

Можливі значення enum:

  • "All"
  • "ExactCount"

capacity
CapacityRequirements

Capacity визначає вимоги до ресурсів для кожної ємності.

Якщо поле не встановлено і пристрій підтримує кілька виділень, стандартне значення буде застосовано до кожної ємності відповідно до requestPolicy. Для ємності, яка не має requestPolicy, стандартне значення дорівнює повній ємності.

Застосовується до кожного виділення пристрою. Якщо Count > 1, запит не вдасться, якщо немає достатньої кількості пристроїв, що відповідають вимогам. Якщо AllocationMode встановлено на All, запит не вдасться, якщо є пристрої, які інакше відповідають запиту, і мають цю ємність, зі значенням >= запитаного, але які не можуть бути виділені для цього запиту.

count
integer
Count використовується лише тоді, коли режим підрахунку встановлено на "ExactCount". Має бути більше нуля. Якщо AllocationMode встановлено на ExactCount і це поле не вказано, за замовчуванням використовується один.
deviceClassName *
string

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

DeviceClassName є обовʼязковим.

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

selectors
DeviceSelector array
Selectors визначають критерії, які повинні бути виконані конкретним пристроєм, щоб цей пристрій був розглянутий для цього запиту. Всі селектори повинні бути виконані, щоб пристрій був розглянутий.
tolerations
DeviceToleration array

Якщо вказано, толерантності запиту.

Толерантності для NoSchedule потрібні для виділення пристрою, який має taint з цим ефектом. Те ж саме стосується NoExecute.

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

Максимальна кількість толерантностей — 16.

Це бета-поле і вимагає увімкнення функціональної можливості DRADeviceTaints.

NetworkDeviceData

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


ПолеОпис
hardwareAddress
string

HardwareAddress представляє апаратну адресу (наприклад, MAC-адресу) мережевого інтерфейсу пристрою.

Не повинна перевищувати 128 байт.

interfaceName
string

InterfaceName вказує назву мережевого інтерфейсу, повʼязаного з виділеним пристроєм. Це може бути назва фізичного або віртуального мережевого інтерфейсу, який налаштовується в поді.

Не повинна перевищувати 256 байт.

ips
string array

IPs список мережевих адрес, призначених мережевому інтерфейсу пристрою. Це може включати як IPv4, так і IPv6 адреси. IP-адреси вказуються в нотації CIDR, яка включає як адресу, так і відповідну маску підмережі. Наприклад: "192.0.2.5/24" для IPv4 та "2001:db8::5/64" для IPv6.

ResourceClaimConsumerReference

ResourceClaimConsumerReference містить достатньо інформації, щоб дозволити вам знайти споживача ResourceClaim. Користувач повинен бути ресурсом у тому ж просторі імен, що й ResourceClaim.


ПолеОпис
apiGroup
string
APIGroup є групою для ресурсу, на який посилаються. Для основного API вона порожня. Це відповідає групі в APIVersion, яка використовується при створенні ресурсів.
name *
string
Name є назвою ресурсу, на який посилаються.
resource *
string
Resource є типом ресурсу, на який посилаються, наприклад "pods".
uid *
string
UID ідентифікує точно одну інкарнацію ресурсу.

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceClaim

Відповідь

СтатусОписВідповідь
200OKResourceClaim
201CreatedResourceClaim
202AcceptedResourceClaim

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourceClaim
201CreatedResourceClaim

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceClaim

Відповідь

СтатусОписВідповідь
200OKResourceClaim
201CreatedResourceClaim

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKResourceClaim
202AcceptedResourceClaim

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourceClaim

get List

HTTP Запит

GET /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourceClaimList

get List All Namespaces

HTTP Запит

GET /apis/resource.k8s.io/v1/resourceclaims

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourceClaimList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaims/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaims

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List All Namespaces

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/resourceclaims

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

patch Patch Status

HTTP Запит

PATCH /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourceClaim
201CreatedResourceClaim

get Read Status

HTTP Запит

GET /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourceClaim

put Replace Status

HTTP Запит

PUT /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaims/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaim
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceClaim

Відповідь

СтатусОписВідповідь
200OKResourceClaim
201CreatedResourceClaim

4 - ResourceClaimTemplate

ResourceClaimTemplate використовується для створення обʼєктів ResourceClaim.

apiVersion: resource.k8s.io/v1

import "k8s.io/api/resource/v1"

ResourceClaimTemplate

ResourceClaimTemplate використовується для створення обʼєктів ResourceClaim.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартні метадані обʼєкта
spec *
ResourceClaimTemplateSpec
Описує ResourceClaim, який має бути створений. Це поле є незмінним. ResourceClaim буде створено панеллю управління для Podʼа, коли це буде потрібно, і більше не буде оновлюватися.

ResourceClaimTemplateSpec

ResourceClaimTemplateSpec містить метадані та поля для ResourceClaim.


ПолеОпис
metadata
ObjectMeta
ObjectMeta може містити мітки та анотації, які будуть скопійовані в ResourceClaim під час його створення. Жодні інші поля не дозволяються і будуть відхилені під час перевірки.
spec *
ResourceClaimSpec
Spec для ResourceClaim. Весь вміст копіюється без змін у ResourceClaim, який створюється з цього шаблону. Ті самі поля, що й у ResourceClaim, також дійсні тут.

ResourceClaimTemplateList

ResourceClaimTemplateList є колекцією шаблонів запитів.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ResourceClaimTemplate array
Items є списком шаблонів заявок на ресурси.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceClaimTemplate

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplate
201CreatedResourceClaimTemplate
202AcceptedResourceClaimTemplate

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaimTemplate
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplate
201CreatedResourceClaimTemplate

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaimTemplate
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceClaimTemplate

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplate
201CreatedResourceClaimTemplate

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaimTemplate
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplate
202AcceptedResourceClaimTemplate

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaimTemplate
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplate

get List

HTTP Запит

GET /apis/resource.k8s.io/v1/namespaces/{namespace}/resourceclaimtemplates

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplateList

get List All Namespaces

HTTP Запит

GET /apis/resource.k8s.io/v1/resourceclaimtemplates

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourceClaimTemplateList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaimtemplates/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceClaimTemplate
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/namespaces/{namespace}/resourceclaimtemplates

Параметри шляху

НазваТипОпис
namespacestringНазва обʼєкта та область авторизації, наприклад для команд і проєктів

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List All Namespaces

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/resourceclaimtemplates

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

5 - ResourcePoolStatusRequest

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

apiVersion: resource.k8s.io/v1alpha3

import "k8s.io/api/resource/v1alpha3"

ResourcePoolStatusRequest

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


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata *
ObjectMeta
Стандартні метадані обʼєкта
spec *
ResourcePoolStatusRequestSpec
Spec визначає фільтри для включення пулів у статус. Spec є незмінним після створення.
status
ResourcePoolStatusRequestStatus
Status заповнюється контролером з обчисленим станом пулу. Коли status не є nil, запит вважається завершеним, і весь обʼєкт стає незмінним.

ResourcePoolStatusRequestSpec

ResourcePoolStatusRequestSpec defines the filters for the pool status request.


ПолеОпис
driver *
string
Driver визначає назву драйвера DRA для фільтрації пулів. Включаються лише пули з ResourceSlices з цим драйвером. Має бути піддоменом DNS (наприклад, "gpu.example.com").
limit
integer

Limit необовʼязково визначає максимальну кількість пулів для повернення у статусі. Якщо більше пулів відповідають критеріям фільтрації, відповідь буде скорочена (тобто len(status.pools) < status.poolCount).

Стандартно: 100 Мінімум: 1 Максимум: 1000

poolName
string
PoolName необовʼязково фільтрує за конкретною назвою пулу. Якщо не вказано, включаються всі пули з зазначеного драйвера. Коли вказано, повинно бути непустим дійсним імʼям пулу ресурсів (піддомени DNS, розділені "/").

ResourcePoolStatusRequestStatus

ResourcePoolStatusRequestStatus містить обчислену інформацію про стан пулу.


ПолеОпис
conditions
Condition array
patch strategy: merge on key type

Conditions надають інформацію про стан запиту. Стан з type=Complete або type=Failed завжди буде встановлено, коли статус заповнено.

Відомі типи умов:

  • "Complete": True, коли запит було успішно оброблено
  • "Failed": True, коли запит не вдалося обробити

poolCount *
integer
PoolCount є загальною кількістю пулів, які відповідають критеріям фільтрації, незалежно від усічення. Це допомагає користувачам зрозуміти, скільки пулів існує, навіть коли відповідь усічена. Значення 0 означає, що жоден пул не відповідав критеріям фільтрації.
pools
PoolStatus array
Pools містить перші spec.limit відповідних пулів, відсортованих за драйвером, а потім за назвою пулу. Якщо len(pools) < poolCount, список був усічений. Коли пропущено, жоден пул не відповідав фільтрам запиту.

ResourcePoolStatusRequestList

ResourcePoolStatusRequestList є колекцією ResourcePoolStatusRequests.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ResourcePoolStatusRequest array
Items є списком ResourcePoolStatusRequests.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

PoolStatus

PoolStatus містить інформацію про стан одного пулу ресурсів.


ПолеОпис
allocatedDevices
integer
AllocatedDevices — це кількість пристроїв, які наразі виділені для запитів. Значення 0 означає, що жоден пристрій не виділено. Може бути не встановлено, коли встановлено validationError.
availableDevices
integer
AvailableDevices — це кількість пристроїв, доступних для виділення. Це дорівнює TotalDevices - AllocatedDevices - UnavailableDevices. Значення 0 означає, що наразі жоден пристрій не доступний. Може бути не встановлено, коли встановлено validationError.
driver *
string
Driver є імʼям драйвера DRA для цього пулу. Має бути піддоменом DNS (наприклад, "gpu.example.com").
generation *
integer
Generation є поколінням пулу, спостережуваним у всіх ResourceSlices цього пулу. Звіт продається лише для останнього покоління. Під час розгортання покоління, якщо не всі зрізи останнього покоління були опубліковані, пул включається з validationError, а поля кількості пристроїв не встановлюються.
nodeName
string
NodeName є вузлом, з яким повʼязаний цей пул. Якщо не вказано, пул не повʼязаний з конкретним вузлом. Має бути дійсним піддоменом DNS (RFC1123).
poolName *
string
PoolName є імʼям пулу. Має бути дійсним імʼям пулу ресурсів (піддомени DNS, розділені "/").
resourceSliceCount
integer
ResourceSliceCount є кількістю ResourceSlices, що складають цей пул. Може бути не встановлено, коли встановлено validationError.
totalDevices
integer
TotalDevices є загальною кількістю пристроїв у пулі по всіх зрізах. Значення 0 означає, що пул не має пристроїв. Може бути не встановлено, коли встановлено validationError.
unavailableDevices
integer
UnavailableDevices є кількістю пристроїв, які недоступні через taints або інші умови, але не виділені. Значення 0 означає, що всі невиділені пристрої доступні. Може бути не встановлено, коли встановлено validationError.
validationError
string
ValidationError встановлюється, коли дані пулу не можуть бути повністю перевірені (наприклад, неповна публікація зрізів). Коли встановлено, поля кількості пристроїв і ResourceSliceCount можуть бути не встановлені.

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourcePoolStatusRequest

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
201CreatedResourcePoolStatusRequest
202AcceptedResourcePoolStatusRequest

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
201CreatedResourcePoolStatusRequest

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourcePoolStatusRequest

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
201CreatedResourcePoolStatusRequest

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
202AcceptedResourcePoolStatusRequest

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest

get List

HTTP Запит

GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequestList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1alpha3/watch/resourcepoolstatusrequests/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1alpha3/watch/resourcepoolstatusrequests

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

patch Patch Status

HTTP Запит

PATCH /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
201CreatedResourcePoolStatusRequest

get Read Status

HTTP Запит

GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest

put Replace Status

HTTP Запит

PUT /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ResourcePoolStatusRequest

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourcePoolStatusRequest

Відповідь

СтатусОписВідповідь
200OKResourcePoolStatusRequest
201CreatedResourcePoolStatusRequest

6 - ResourceSlice

ResourceSlice представляє один або кілька ресурсів у пулі подібних ресурсів, керованих спільним драйвером. Пул може охоплювати більше одного ResourceSlice, і точно визначити, скільки ResourceSlice складають пул, визначає драйвер.

На даний момент єдині підтримувані ресурси — це пристрої з атрибутами та ємностями (capacities). Кожен пристрій у даному пулі, незалежно від того, скільки ResourceSlice, повинен мати унікальне імʼя. ResourceSlice, у якому публікується пристрій, може змінюватися з часом. Унікальний ідентифікатор для пристрою — це кортеж <імʼя драйвера>, <імʼя пулу>, <імʼя пристрою>.

Щоразу, коли драйвер потребує оновлення пулу, він збільшує номер pool.Spec.Pool.Generation і оновлює всі ResourceSlices з новим номером та новими визначеннями ресурсів. Споживач повинен використовувати лише ResourceSlices з найвищим номером покоління і ігнорувати всі інші.

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

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

apiVersion: resource.k8s.io/v1

import "k8s.io/api/resource/v1"

ResourceSlice

ResourceSlice представляє один або кілька ресурсів у пулі подібних ресурсів, керованих спільним драйвером. Пул може охоплювати більше одного ResourceSlice, і точно визначити, скільки ResourceSlices складають пул, визначає драйвер.

На даний момент єдині підтримувані ресурси — це пристрої з атрибутами та ємностями (capacities). Кожен пристрій у даному пулі, незалежно від того, скільки ResourceSlices, повинен мати унікальне імʼя. ResourceSlice, у якому публікується пристрій, може змінюватися з часом. Унікальний ідентифікатор для пристрою — це кортеж <імʼя драйвера>, <імʼя пулу>, <імʼя пристрою>.

Щоразу, коли драйвер потребує оновлення пулу, він збільшує номер pool.Spec.Pool.Generation і оновлює всі ResourceSlices з новим номером та новими визначеннями ресурсів. Споживач повинен використовувати лише ResourceSlices з найвищим номером покоління і ігнорувати всі інші.

Коли виділяються всі ресурси в пулі, що відповідають певним критеріям, або коли шукається найкраще рішення серед кількох різних альтернатив, споживач повинен перевірити кількість ResourceSlices у пулі (включених у кожен ResourceSlice), щоб визначити, чи є його уявлення про пул повним, і якщо ні, слід чекати, поки драйвер завершить оновлення пулу.

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


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартні метадані обʼєкта
spec *
ResourceSliceSpec
Містить інформацію, опубліковану драйвером. Зміна spec автоматично збільшує номер metadata.generation.

ResourceSliceSpec

ResourceSliceSpec містить інформацію, опубліковану драйвером в одному ResourceSlice.


ПолеОпис
allNodes
boolean

AllNodes вказує, що всі вузли мають доступ до ресурсів у пулі.

Тільки один з NodeName, NodeSelector, AllNodes та PerDeviceNodeSelection повинен бути встановлений.

devices
Device array

Devices перелічує деякі або всі пристрої в цьому пулі.

Не повинно бути більше 128 записів. Якщо будь-який пристрій використовує taints або споживає лічильники, обмеження становить 64.

Тільки один з Devices та SharedCounters може бути встановлений у ResourceSlice.

driver *
string

Driver визнає DRA драйвер, який надає інформацію про ємність. Можна використовувати селектор полів, щоб перелічити лише обʼєкти ResourceSlice з певним імʼям драйвера.

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

nodeName
string

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

Це поле можна використовувати для обмеження доступу вузлів до ResourceSlices з однаковим імʼям вузла. Воно також вказує автомасштабувальникам, що додавання нових вузлів того ж типу, що й деякі старі вузли, може також зробити доступними нові ресурси.

Тільки один з NodeName, NodeSelector, AllNodes та PerDeviceNodeSelection повинен бути встановлений. Це поле є незмінним.

nodeSelector
NodeSelector

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

Має тільки один термін.

Тільки один з NodeName, NodeSelector, AllNodes та PerDeviceNodeSelection повинен бути встановлений.

perDeviceNodeSelection
boolean

PerDeviceNodeSelection визначає, чи доступ вузлів до ресурсів у пулі встановлюється на рівні ResourceSlice або на кожному пристрої. Якщо встановлено значення true, кожен пристрій, визначений у ResourceSlice, повинен вказати це окремо.

Тільки один з NodeName, NodeSelector, AllNodes та PerDeviceNodeSelection повинен бути встановлений.

pool *
ResourcePool
Pool описує пул, до якого належить цей ResourceSlice.
sharedCounters
CounterSet array

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

Імена наборів лічильників повинні бути унікальними в ResourcePool. Тільки один з Devices та SharedCounters може бути встановлений у ResourceSlice. Максимальна кількість наборів лічильників становить 8.

ResourceSliceList

ResourceSliceList is a collection of ResourceSlices.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ResourceSlice array
Items визначає список ресурсів ResourceSlices.
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартні метадані списку

CapacityRequestPolicy

CapacityRequestPolicy визначає, як запити споживають ємність пристрою.

Не можна встановлювати більше одного ValidRequestValues.


ПолеОпис
default
Quantity
Default визначає, скільки цієї ємності споживається запитом, який не містить запису для неї в Capacity DeviceRequest.
validRange
CapacityRequestPolicyRange

ValidRange визначає допустимий діапазон значень кількості в запитах на споживання.

Якщо це поле встановлено, Default повинен бути визначений і він повинен потрапляти в межі визначеного ValidRange.

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

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

validValues
Quantity array

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

Не може містити більше 10 записів. Повинно бути відсортовано за зростанням.

Якщо це поле встановлено, Default повинен бути визначений і він повинен входити до списку ValidValues.

Якщо запитана кількість не відповідає жодному допустимому значенню, але менша за деякі допустимі значення, планувальник обчислює найменше допустиме значення, яке більше або дорівнює запиту. Тобто: min(ceil(requestedValue) ∈ validValues), де requestedValue ≤ max(validValues).

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

CapacityRequestPolicyRange

CapacityRequestPolicyRange визначає допустимий діапазон значень споживаної ємності.

  • Якщо запитана кількість менша за Min, вона округлюється до значення Min.
  • Якщо Step встановлено, а запитана кількість знаходиться між Min і Max, але не відповідає Step, вона буде округлена до наступного значення, рівного Min + (n * Step).
  • Якщо Step не встановлено, запитана кількість використовується як є, якщо вона знаходиться в діапазоні від Min до Max (якщо встановлено).
  • Якщо запитана або округлена кількість перевищує Max (якщо встановлено), запит не відповідає політиці, і пристрій не може бути виділений.

ПолеОпис
max
Quantity

Max визначає верхню межу ємності, яку можна запитати.

Max повинен бути меншим або рівним значенню ємності. Min і requestPolicy.default повинні бути меншими або рівними максимуму.

min *
Quantity

Min визначає мінімальну ємність, дозволену для запиту на споживання.

Min повинен бути більшим або рівним нулю та меншим або рівним значенню ємності. requestPolicy.default повинен бути більшим або рівним мінімуму.

step
Quantity

Step визначає крок між допустимими значеннями ємності в межах діапазону.

Max (якщо встановлено) та requestPolicy.default повинні бути кратними Step. Min + Step повинно бути меншим або рівним значенню ємності.

Counter

Counter описує кількість, пов'язану з пристроєм.


ПолеОпис
value *
Quantity
Value визначає, скільки певного лічильника пристрою доступно.

CounterSet

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

Лічильники самі по собі не можуть бути виділені, але можуть бути посиланням для пристроїв. Коли пристрій виділяється, частина лічильників, яку він використовує, більше не буде доступна для використання іншими пристроями.


ПолеОпис
counters *
object

Counters визначає набір лічильників для цього CounterSet.

Імʼя кожного лічильника повинно бути унікальним у цьому наборі та відповідати DNS-мітці. Максимальна кількість лічильників — 32.

name *
string

Name визначає імʼя набору лічильників.

Воно повинно бути DNS-міткою.

Device

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


ПолеОпис
allNodes
boolean

AllNodes вказує, що всі вузли мають доступ до пристрою.

Має бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Можна встановити не більше одного з NodeName, NodeSelector та AllNodes.

allowMultipleAllocations
boolean

AllowMultipleAllocations вказує, чи дозволено виділяти пристрій для кількох DeviceRequests.

Якщо AllowMultipleAllocations встановлено в true, пристрій може бути виділений більше одного разу, і вся його ємність буде споживана, незалежно від того, чи визначено requestPolicy чи ні.

attributes
object

Attributes визначає набір атрибутів для цього пристрою.

Імʼя кожного атрибуту повинно бути унікальним у цьому наборі.

Максимальна кількість атрибутів та ємностей разом становить 32.

bindingConditions
string array

BindingConditions визначає умови для продовження привʼязки.

Всі ці умови повинні бути встановлені в умовах стану кожного пристрою зі значенням True, щоб продовжити привʼязку пода до вузла під час планування пода.

Максимальна кількість умов привʼязки становить 4.

Умови повинні бути дійсним рядком типу умови.

Це бета-поле і вимагає увімкнення функційних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.

bindingFailureConditions
string array

BindingFailureConditions визначає умови для невдачі привʼязки. Вони можуть бути встановлені в умовах стану кожного пристрою. Якщо будь-яка з них встановлена в "True", сталася невдача привʼязки.

Максимальна кількість умов невдачі привʼязки становить 4.

Умови повинні бути дійсним рядком типу умови.

Це бета-поле і вимагає увімкнення функційних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.

bindsToNode
boolean

BindsToNode показує, чи використання виділення, що включає цей пристрій, має бути обмежене саме тим вузлом, який був обраний під час розподілу заявки. Якщо встановлено в true, планувальник встановить ResourceClaim.Status.Allocation.NodeSelector, щоб відповідати вузлу, де було зроблено виділення.

Це бета-поле і вимагає увімкнення функційних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus.

capacity
object

Capacity визначає набір ємностей для цього пристрою. Імʼя кожної ємності повинно бути унікальним у цьому наборі.

Максимальна кількість атрибутів і ємностей разом становить 32.

consumesCounters
DeviceCounterConsumption array

ConsumesCounters визначає список посилань на sharedCounters та набір лічильників, які пристрій буде споживати з цих наборів лічильників.

Може бути лише один запис на counterSet. Максимальна кількість споживань лічильників пристрою на пристрій становить 2.

name *
string
Name є унікальним ідентифікатором серед усіх пристроїв, керованих драйвером у пулі. Він повинен бути міткою DNS.
nodeAllocatableResourceMappings
object
NodeAllocatableResourceMappings визначає зіставлення ресурсів вузла, якими керує драйвер DRA, що надає цей пристрій. Це включає ресурси, які наразі повідомляються у v1.Node status.allocatable, але не є розширеними ресурсами (див. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources). Прикладами є "cpu", "memory", "ephemeral-storage" та hugepages. Крім стандартних запитів, зроблених через Pod spec, ці ресурси також можуть бути запитані через заявки та виділені драйвером DRA. Наприклад, драйвер CPU DRA може виділяти ексклюзивні CPU або допоміжні залежності памʼяті вузла для прискорювального пристрою. Ключі цієї мапи є іменами ресурсів, доступних на вузлі (наприклад, "cpu", "memory"). Імена розширених ресурсів не дозволяються як ключі.
nodeName
string

NodeName визначає вузол, де доступний пристрій.

Може бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Може бути встановлено не більше одного з NodeName, NodeSelector та AllNodes.

nodeSelector
NodeSelector

NodeSelector визначає вузли, де доступний пристрій.

Має використовуватися тільки один термін.

Може бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Може бути встановлено не більше одного з NodeName, NodeSelector та AllNodes.

taints
DeviceTaint array

Якщо вказано, то це taint, визначені драйвером.

Максимальна кількість taints становить 16. Якщо taints встановлено для будь-якого пристрою в ResourceSlice, тоді максимальна кількість дозволених пристроїв на ResourceSlice становить 64 замість 128.

Це бета-поле і вимагає увімкнення функціональної можливості DRADeviceTaints.

DeviceAttribute

DeviceAttribute має мати встановлене тільки одне поле.


ПолеОпис
bool
boolean
BoolValue є значенням true/false.
bools
boolean array
BoolValues є непорожнім списком значень true/false.
int
integer
IntValue є числом.
ints
integer array

IntValues є непорожнім списком чисел.

Це альфа-поле і вимагає увімкнення функціональної можливості DRAListTypeAttributes.

string
string
StringValue є рядком. Не повинен перевищувати 64 символи.
strings
string array

StringValues є непорожнім списком рядків. Кожен рядок не повинен перевищувати 64 символи.

Це альфа-поле і вимагає увімкнення функціональної можливості DRAListTypeAttributes.

version
string
VersionValue є семантичним версіонуванням відповідно до специфікації semver.org 2.0.0. Не має перевищувати 64 символи.
versions
string array

VersionValues є непорожнім списком семантичних версій відповідно до специфікації semver.org 2.0.0. Кожен рядок версії не повинен перевищувати 64 символи.

Це альфа-поле і вимагає увімкнення функціональної можливості DRAListTypeAttributes.

DeviceCapacity

DeviceCapacity описує кількість, повʼязану з пристроєм.


ПолеОпис
requestPolicy
CapacityRequestPolicy

RequestPolicy визначає, як ця DeviceCapacity повинна споживатися, коли пристрій дозволено ділити між кількома розподілами.

Пристрій повинен мати allowMultipleAllocations встановлено в true, щоб встановити requestPolicy.

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

value *
Quantity

Value визначає, скільки певної ємності має пристрій.

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

DeviceCounterConsumption

DeviceCounterConsumption визначає набір лічильників, які пристрій буде споживати з CounterSet.


ПолеОпис
counterSet *
string
CounterSet є назвою набору, з якого будуть споживатися визначені лічильники.
counters *
object

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

Максимальна кількість лічильників становить 32.

DeviceTaint

Пристрій, до якого прикріплено цей taint, має «вплив» на будь-яку заявку, яка не толерує taint, і, через заявку, на podʼи, що використовують цю заявку.


ПолеОпис
effect *
string

Вплив taint на заявки, які не толерують цей taint, і через такі заявки на поди, що їх використовують.

Дійсні ефекти: None, NoSchedule та NoExecute. PreferNoSchedule, як використовується для вузлів, тут недійсний. У майбутньому можуть бути додані інші ефекти. Споживачі повинні трактувати невідомі ефекти як None.

Можливі значення enum:

  • "NoExecute" Виселити будь-які вже запущені поди, які не толерують taint пристрою.
  • "NoSchedule" Не дозволяти новим подам плануватися з використанням taint пристрою, якщо вони не толерують taint, але дозволяти всім подам, поданим до Kubelet без проходження через планувальник, запускатися, і дозволяти всім вже запущеним подам продовжувати працювати.
  • "None" Без ефекту, taint є чисто інформаційним.

key *
string
Ключ taint, який буде застосовано до пристрою. Повинен бути імʼям мітки.
timeAdded
Time

TimeAdded представляє час, коли taint був доданий або (тільки в DeviceTaintRule) ефект був змінений. Додається автоматично під час створення або оновлення, якщо не встановлено.

Крім того, у DeviceTaintRule значення, надане під час оновлення, замінюється на поточний час, якщо надане значення збігається зі старим і новий ефект відрізняється. Зміна ключа та/або значення при збереженні ефекту без змін можлива і не оновлює часову мітку, оскільки виселення, яке її використовує, вже почалося (NoExecute) або ще не почалося (NoEffect, NoSchedule).

value
string
Значення taint, що відповідає ключу taint. Повинно бути значенням мітки.

NodeAllocatableResourceMapping

NodeAllocatableResourceMapping визначає перетворення між одиницями пристрою/ємності DRA, запитаними, та відповідною кількістю ресурсу вузла, доступного для виділення.


ПолеОпис
allocationMultiplier
Quantity

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

  1. Якщо capacityKey не встановлено: allocationMultiplier множить кількість пристроїв, виділених для запиту.
    • a. DRA-драйвер, який представляє кожне ядро CPU як пристрій, матиме {ResourceName: "cpu", allocationMultiplier: "2"} у своєму nodeAllocatableResourceMappings. Якщо 4 пристрої виділено для запиту, 4 * 2 CPU вважатимуться виділеними і відніматимуться з ємності вузла.
    • b. GPU-пристрій, який потребує додаткової памʼяті вузла на кожне виділення GPU, матиме {ResourceName: "memory", allocationMultiplier: "2Gi"}. Кожен виділений екземпляр цього типу GPU-пристрою враховуватиме 2Gi пам'яті.
  2. Якщо capacityKey встановлено: allocationMultiplier множиться на кількість спожитої ємності. Остаточна кількість ресурсу вузла, доступного для виділення, визначається як consumedCapacity[capacityKey] * allocationMultiplier. Наприклад, якщо спожито ємність пристрою "dra.example.com/cores", і кожне "ядро" забезпечує 2 "cpu", відображення буде таким: {ResourceName: "cpu", capacityKey: "dra.example.com/cores", allocationMultiplier: "2"}. Якщо запит споживає 8 "dra.example.com/cores", відбиток CPU становитиме 8 * 2 = 16.
capacityKey
string
CapacityKey посилається на назву ємності, визначену як ключ у мапі spec.devices[*].capacity. Коли це поле встановлено, значення, повʼязане з цим ключем у мапі status.allocation.devices.results[*].consumedCapacity (для конкретного виділення запиту), визначає базову кількість для ресурсу вузла, доступного для виділення. Якщо також встановлено allocationMultiplier, воно множиться на базову кількість. Наприклад, якщо spec.devices[*].capacity має запис "dra.example.com/memory": "128Gi", і це поле встановлено на "dra.example.com/memory", тоді для виділення запиту, яке споживає { "dra.example.com/memory": "4Gi" }, базова кількість для відображення ресурсу вузла буде "4Gi", і allocationMultiplier слід опустити або встановити на "1".

NodeSelectorRequirement

Вимога до селектора вузлів — це селектор, що містить значення, ключ та оператор, який пов’язує ключ і значення.


ПолеОпис
key *
string
Ключ мітки, до якого застосовується селектор.
operator *
string
Представляє відношення ключа до набору значень. Дійсні оператори: In, NotIn, Exists, DoesNotExist, Gt та Lt.

Можливі значення enum:
  • "DoesNotExist"
  • "Exists"
  • "Gt"
  • "In"
  • "Lt"
  • "NotIn"
values
string array
Масив значень рядків. Якщо оператор дорівнює In або NotIn, масив values повинен бути непорожнім. Якщо оператор дорівнює Exists або DoesNotExist, масив values повинен бути порожнім. Якщо оператор дорівнює Gt або Lt, масив values повинен містити один елемент, який буде інтерпретований як ціле число. Цей масив замінюється під час стратегічного злиття патчу.

ResourcePool

ResourcePool Описує пул, до якого належать ResourceSlices.


ПолеОпис
generation *
integer

Generation відстежує зміни в пулі з часом. Коли драйвер змінює щось у одному або декількох ресурсах у пулі, він повинен змінити generation у всіх ResourceSlices, які є частиною цього пулу. Споживачі ResourceSlices повинні враховувати лише ресурси з пулу з найвищим номером generation. Generation може бути скинутий драйверами, що має бути прийнятним для споживачів, за умови, що всі ResourceSlices у пулі оновлені або видалені.

У поєднанні з ResourceSliceCount, цей механізм дозволяє споживачам виявляти пули, які складаються з кількох ResourceSlices і знаходяться в неповному стані.

name *
string

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

Воно не повинно перевищувати 253 символи і повинно складатися з одного або декількох піддоменів DNS, розділених слешами. Це поле є незмінним.

resourceSliceCount *
integer

ResourceSliceCount є загальною кількістю ResourceSlices у пулі на цей номер generation. Має бути більше нуля.

Споживачі можуть використовувати це, щоб перевірити, чи бачили вони всі ResourceSlices, що належать до одного пулу.

Операції


post Create

HTTP Запит

POST /apis/resource.k8s.io/v1/resourceslices

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceSlice

Відповідь

СтатусОписВідповідь
200OKResourceSlice
201CreatedResourceSlice
202AcceptedResourceSlice

patch Patch

HTTP Запит

PATCH /apis/resource.k8s.io/v1/resourceslices/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceSlice

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKResourceSlice
201CreatedResourceSlice

put Replace

HTTP Запит

PUT /apis/resource.k8s.io/v1/resourceslices/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceSlice

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyResourceSlice

Відповідь

СтатусОписВідповідь
200OKResourceSlice
201CreatedResourceSlice

delete Delete

HTTP Запит

DELETE /apis/resource.k8s.io/v1/resourceslices/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceSlice

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKResourceSlice
202AcceptedResourceSlice

delete Delete Collection

HTTP Запит

DELETE /apis/resource.k8s.io/v1/resourceslices

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/resource.k8s.io/v1/resourceslices/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceSlice

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKResourceSlice

get List

HTTP Запит

GET /apis/resource.k8s.io/v1/resourceslices

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKResourceSliceList

get Watch

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/resourceslices/{name}

Параметри шляху

НазваТипОпис
namestringНазва ResourceSlice

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/resource.k8s.io/v1/watch/resourceslices

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent