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