CustomResourceDefinition

CustomResourceDefinition представляє ресурс, який повинен бути доступний на API-сервері. Його імʼя МАЄ бути у форматі <.spec.name>.<.spec.group>.

apiVersion: apiextensions.k8s.io/v1

import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"

CustomResourceDefinition

CustomResourceDefinition представляє ресурс, який повинен бути доступний на API-сервері. Його імʼя МАЄ бути у форматі <.spec.name>.<.spec.group>.


ПолеОпис
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
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
spec *
CustomResourceDefinitionSpec
spec describes how the user wants the resources to appear
status
CustomResourceDefinitionStatus
status визначає фактичний стан CustomResourceDefinition

CustomResourceDefinitionSpec

CustomResourceDefinitionSpec описує, як користувач хоче, щоб його ресурс виглядав


ПолеОпис
conversion
CustomResourceConversion
conversion визначає налаштування конверсії для CRD.
group *
string
group є API групою визначеного власного ресурсу. Власні ресурси обслуговуються як /apis/\/.... Повинно відповідати імені CustomResourceDefinition (у формі \.\).
names *
CustomResourceDefinitionNames
names визначає імена ресурсу та типи для власного ресурсу.
preserveUnknownFields
boolean
preserveUnknownFields показує як поля обʼєкта, які не вказані в схемі OpenAPI, повинні зберігатися при збереженні в сховище. apiVersion, kind, metadata та відомі поля всередині metadata завжди зберігаються. Це поле визнане застарілим на користь встановлення x-preserve-unknown-fields в true в spec.versions[*].schema.openAPIV3Schema. Деталі див. на https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning.
scope *
string
scope показує, чи визначений власний ресурс є кластерним або просторово обмеженим. Дозволені значення: Cluster та Namespaced.
versions *
CustomResourceDefinitionVersion array
versions є списком усіх версій API визначеного власного ресурсу. Імена версій використовуються для обчислення порядку, у якому обслуговувані версії відображаються в API discovery. Якщо рядок версії є "kube-подібний", він буде сортуватися вище за не "kube-подібні" рядки версій, які впорядковуються лексикографічно. "Kube-подібні" версії починаються з "v", потім слідує число (основна версія), потім необовʼязково рядок "alpha" або "beta" і ще одне число (додаткова версія). Вони сортуються спочатку за GA > beta > alpha (де GA — це версія без суфікса, такого як beta або alpha), а потім за порівнянням основної версії, потім додаткової версії. Приклад відсортованого списку версій: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.

CustomResourceDefinitionStatus

CustomResourceDefinitionStatus показує стан CustomResourceDefinition


ПолеОпис
acceptedNames
CustomResourceDefinitionNames
acceptedNames є іменами, які фактично використовуються для обслуговування discovery. Вони можуть відрізнятися від імен у spec.
conditions
CustomResourceDefinitionCondition array
conditions показують стан для конкретних аспектів CustomResourceDefinition
observedGeneration
integer
observedGeneration показує покоління, яке спостерігає контролер CRD.
storedVersions
string array
storedVersions містить усі версії CustomResources, які коли-небудь зберігалися. Відстеження цих версій дозволяє створити шлях міграції для збережених версій у etcd. Поле є змінним, щоб контролер міграції міг завершити міграцію на іншу версію (забезпечуючи, що старі обʼєкти не залишаються в сховищі), а потім видалити решту версій із цього списку. Версії не можуть бути видалені з spec.versions, поки вони існують у цьому списку.

CustomResourceDefinitionList

CustomResourceDefinitionList є списком CustomResourceDefinition objects.


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

CustomResourceColumnDefinition

CustomResourceColumnDefinition specifies a column for server side printing.


ПолеОпис
description
string
description є зрозумілим для людини описом цього стовпця.
format
string
format є необовʼязковим визначенням типу OpenAPI для цього стовпця. Формат 'name' застосовується до основного стовпця ідентифікатора, щоб допомогти клієнтам визначити, що стовпець є імʼям ресурсу. Детальніше: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types.
jsonPath *
string
jsonPath є простим шляхом JSON (тобто з нотацією масиву), який оцінюється для кожного користувацького ресурсу, щоб отримати значення для цього стовпця.
name *
string
name є зрозумілим для людини імʼям цього стовпця.
priority
integer
priority є цілим числом, що визначає відносну важливість цього стовпця порівняно з іншими. Менші числа вважаються більш пріоритетними. Стовпці, які можуть бути опущені в умовах обмеженого простору, повинні мати пріоритет більше 0.
type *
string
type є визначенням типу OpenAPI для цього стовпця. Детальніше: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types.

CustomResourceConversion

CustomResourceConversion описує, як конвертувати різні версії CR.


ПолеОпис
strategy *
string
strategy визначає, як конвертувати власні ресурси між версіями. Дозволені значення:
  • "None": Конвертер лише змінює apiVersion і не торкається жодного іншого поля у власному ресурсі.
  • "Webhook": API Server викликає зовнішній вебхук для виконання конвертації. Для цього варіанту потрібна додаткова інформація. Це вимагає, щоб spec.preserveUnknownFields було false, а spec.conversion.webhook було встановлено.
webhook
WebhookConversion
webhook описує, як викликати вебхук для конвертації. Потрібно, коли strategy встановлено на "Webhook".

CustomResourceDefinitionCondition

CustomResourceDefinitionCondition містить деталі поточного стану цього пода.


ПолеОпис
lastTransitionTime
Time
lastTransitionTime — це останній час, коли стан перейшов з одного стану в інший.
message
string
message — це повідомлення, зрозуміле людині, яке вказує деталі щодо переходу. Це може бути порожній рядок.
observedGeneration
integer
observedGeneration представляє .metadata.generation, на основі якого була встановлено стан. Наприклад, якщо .metadata.generation наразі 12, але .status.conditions[x].observedGeneration дорівнює 9, стан застарів щодо поточного стану екземпляра.
reason
string
reason є унікальним, однослівним описом у форматі CamelCase, що пояснює причину останнього переходу стану
status *
string
status є станом статусу. Може бути True, False, Unknown.
type *
string
type є типом стану. Типи включають Established, NamesAccepted та Terminating.

CustomResourceDefinitionNames

CustomResourceDefinitionNames вказує імена для обслуговування цього CustomResourceDefinition


ПолеОпис
categories
string array
categories є списком згрупованих ресурсів, до яких належить цей власний ресурс (наприклад, 'all'). Публікується в документах відкриття API і використовується клієнтами для підтримки викликів, таких як kubectl get all.
kind *
string
kind є серіалізованим типом ресурсу. Зазвичай він у форматі CamelCase і в однині. Екземпляри власного ресурсу використовуватимуть це значення як атрибут kind у викликах API.
listKind
string
listKind є серіалізованим типом списку для цього ресурсу. Зазвичай "kindList".
plural *
string
plural є назвою ресурсу у множині для обслуговування. Власні ресурси обслуговуються за адресою /apis/\/\/.../\. Має відповідати назві CustomResourceDefinition (у формі \.\). Все має бути літерами нижнього регістру.
shortNames
string array
shortNames є короткими іменами для ресурсу, які публікуються в документах відкриття API і використовуються клієнтами для підтримки викликів, таких як kubectl get \. Все має бути літерами нижнього регістру.
singular
string
singular є одниною назви ресурсу. Все має бути літерами нижнього регістру. Стандартно використовується нижній регістр kind.

CustomResourceDefinitionVersion

CustomResourceDefinitionVersion описує версію для CRD.


.
ПолеОпис
additionalPrinterColumns
CustomResourceColumnDefinition array
additionalPrinterColumns вказує додаткові стовпці, які повертаються у виводі таблиці. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables для деталей. Якщо стовпці не вказані, використовується один стовпець, що відображає вік власного ресурсу.
deprecated
boolean
deprecated вказує, що ця версія API власного ресурсу застаріла. Якщо встановлено значення true, запити до цієї версії отримують заголовок попередження у відповіді сервера. Стандартно — false.
deprecationWarning
string
deprecationWarning перевизначає стандартне попередження, яке повертається клієнтам API. Може бути встановлено лише тоді, коли deprecated дорівнює true. Стандартне попередження вказує, що ця версія застаріла, і рекомендує використовувати найновішу обслуговувану версію з рівною або більшою стабільністю, якщо така існує.
name *
string
name є назвою версії, наприклад “v1”, “v2beta1” тощо. Власні ресурси обслуговуються під цією версією за адресою /apis/\/\/..., якщо served дорівнює true.
schema
CustomResourceValidation
schema описує схему, яка використовується для валідації, обрізання та встановлення стандартних значень для цієї версії власного ресурсу.
selectableFields
SelectableField array
selectableFields вказує шляхи до полів, які можуть використовуватися як селектори полів. Дозволяється максимум 8 вибіркових полів. Див. документаціюhttps://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
served *
boolean
served є прапорцем, який дозволяє або забороняє обслуговування цієї версії через REST API
storage *
boolean
storage вказує, що ця версія повинна використовуватися при збереженні власних ресурсів у сховищі. Має бути рівно одна версія з storage=true.
subresources
CustomResourceSubresources
subresources вказує, які субресурси має ця версія визначеного власного ресурсу.

CustomResourceSubresourceScale

CustomResourceSubresourceScale визначає, як обслуговувати субресурс scale для власних ресурсів.


ПолеОпис
labelSelectorPath
string
labelSelectorPath визначає шлях JSON всередині власного ресурсу, який відповідає Scale status.selector. Дозволяються лише шляхи JSON без нотації масиву. Має бути шлях JSON під .status або .spec. Має бути встановлено для роботи з HorizontalPodAutoscaler. Поле, на яке вказує цей шлях JSON, має бути рядковим полем (не складною структурою селектора), яке містить серіалізований селектор міток у вигляді рядка. Більше інформації: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource Якщо під заданим шляхом у власному ресурсі немає значення, значення status.selector у субресурсі /scale за замовчуванням буде порожнім рядком.
specReplicasPath *
string
specReplicasPath визначає шлях JSON всередині власного ресурсу, який відповідає Scale spec.replicas. Дозволяються лише шляхи JSON без нотації масиву. Має бути шлях JSON під .spec. Якщо під заданим шляхом у власному ресурсі немає значення, субресурс /scale поверне помилку при GET.
statusReplicasPath *
string
statusReplicasPath визначає шлях JSON всередині власного ресурсу, який відповідає Scale status.replicas. Дозволяються лише шляхи JSON без нотації масиву. Має бути шлях JSON під .status. Якщо під заданим шляхом у власному ресурсі немає значення, значення status.replicas у підресурсі /scale за замовчуванням буде 0.

CustomResourceSubresourceStatus

CustomResourceSubresourceStatus визначає, як обслуговувати субресурс статусу для власних ресурсів. Статус представлений шляхом JSON .status всередині власного ресурсу. Коли встановлено, * відкриває субресурс /status для власного ресурсу * PUT-запити до субресурсу /status приймають обʼєкт власного ресурсу і ігнорують зміни всього, крім секції статусу * PUT/POST/PATCH-запити до власного ресурсу ігнорують зміни секції статусу


CustomResourceSubresources

CustomResourceSubresources визначає, як обслуговувати субресурси статусу та масштабу для власних ресурсів.


ПолеОпис
scale
CustomResourceSubresourceScale
scale вказує, що власний ресурс повинен обслуговувати субресурс /scale, який повертає обʼєкт autoscaling/v1 Scale.
status
CustomResourceSubresourceStatus
status вказує, що власний ресурс повинен обслуговувати субресурс /status. Коли увімкнено:
  1. запити до основної точки доступу власного ресурсу ігнорують зміни в секції status обʼєкта.
  2. запити до субресурсу /status ігнорують зміни в будь-чому, крім секції status обʼєкта.

CustomResourceValidation

CustomResourceValidation є списком методів валідації для власних ресурсів.


ПолеОпис
openAPIV3Schema
JSONSchemaProps
openAPIV3Schema є схемою OpenAPI v3, яка використовується для валідації та обрізання.

ExternalDocumentation

ExternalDocumentation дозволяє посилатися на зовнішній ресурс для розширеної документації.


ПолеОпис
description
string
url
string

JSON

JSON представляє будь-яке дійсне значення JSON. Підтримуються такі типи: bool, int64, float64, string, []interface{}, map[string]interface{} та nil.


JSONSchemaProps

JSONSchemaProps є JSON-схемою, що відповідає Specification Draft 4 (http://json-schema.org/).


ПолеОпис
$ref
string
$schema
string
additionalItems
JSONSchemaPropsOrBool
additionalProperties
JSONSchemaPropsOrBool
allOf
JSONSchemaProps array
anyOf
JSONSchemaProps array
default
JSON
default є стандартним значенням для невизначених полів обʼєкта. Defaulting є бета-функцією під керуванням функціональної можливості CustomResourceDefaulting. Defaulting вимагає, щоб spec.preserveUnknownFields було false.
definitions
object
dependencies
object
description
string
enum
JSON array
example
JSON
exclusiveMaximum
boolean
exclusiveMinimum
boolean
externalDocs
ExternalDocumentation
format
string
format є рядком формату OpenAPI v3. Невідомі формати ігноруються. Наступні формати перевіряються:
  • bsonobjectid: BSON-ідентифікатор обʼєкта, тобто 24-символьний шістнадцятковий рядок
  • uri: URI, як розібрано за допомогою Golang net/url.ParseRequestURI
  • email: адреса електронної пошти, як розібрано за допомогою Golang net/mail.ParseAddress
  • hostname: дійсне представлення імені хоста в Інтернеті, як визначено в RFC 1034, розділ 3.1 [RFC1034].
  • ipv4: IPv4 IP, як розібрано за допомогою Golang net.ParseIP
  • ipv6: IPv6 IP, як розібрано за допомогою Golang net.ParseIP
  • cidr: CIDR, як розібрано за допомогою Golang net.ParseCIDR
  • mac: MAC-адреса, як розібрано за допомогою Golang net.ParseMAC
  • uuid: UUID, який дозволяє великі літери, визначений регулярним виразом (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
  • uuid3: UUID3, який дозволяє великі літери, визначений регулярним виразом (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
  • uuid4: UUID4, який дозволяє великі літери, визначений регулярним виразом (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
  • uuid5: UUID5, який дозволяє великі літери, визначений регулярним виразом (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
  • isbn: номер ISBN10 або ISBN13, наприклад "0321751043" або "978-0321751041"
  • isbn10: номер ISBN10, наприклад "0321751043"
  • isbn13: номер ISBN13, наприклад "978-0321751041"
  • creditcard: номер кредитної картки, визначений регулярним виразом ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6[?:011|5[0-9][0-9]](0-9){12}|3[47][0-9]{13}|3[?:0[0-5]|[68][0-9]](0-9){11}|(?:2131|1800|35\\d{3})\\d{11})$ з будь-якими нецифровими символами
  • ssn: номер соціального страхування США, що відповідає регулярному виразу ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$
  • hexcolor: шістнадцятковий колірний код, наприклад #FFFFFF: відповідно до регулярного виразу ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
  • rgbcolor: RGB-колірний код, наприклад "rgb(255,255,2559"
  • byte: дані у форматі base64
  • password: будь-який рядок
  • date: рядок дати, наприклад "2006-01-02", як визначено у full-date в RFC3339
  • duration: рядок тривалості, наприклад "22 ns", як розібрано за допомогою Golang time.ParseDuration або сумісно з форматом тривалості Scala
  • datetime: рядок дати та часу, наприклад "2014-12-15T19:30:20.000Z", як визначено у date-time в RFC3339.
id
string
items
JSONSchemaPropsOrArray
maxItems
integer
maxLength
integer
maxProperties
integer
maximum
number
minItems
integer
minLength
integer
minProperties
integer
minimum
number
multipleOf
number
not
JSONSchemaProps
nullable
boolean
oneOf
JSONSchemaProps array
pattern
string
patternProperties
object
properties
object
required
string array
title
string
type
string
uniqueItems
boolean
x-kubernetes-embedded-resource
boolean
x-kubernetes-embedded-resource визнає, що значення є вбудованим Kubernetes runtime.Object, з TypeMeta та ObjectMeta. Тип повинен бути object. Дозволяється додатково обмежувати вбудований обʼєкт. kind, apiVersion та metadata перевіряються автоматично. x-kubernetes-preserve-unknown-fields дозволяється встановлювати в true, але не обовʼязково, якщо обʼєкт повністю визначений (до kind, apiVersion, metadata).
x-kubernetes-int-or-string
boolean
x-kubernetes-int-or-string визначає, що це значення є або цілим числом, або рядком. Якщо це true, дозволяється порожній тип, і тип як дочірній елемент anyOf дозволяється, якщо дотримано один із наступних шаблонів:
  1. anyOf:
    • type: integer
    • type: string
  2. allOf:
    • anyOf:
      • type: integer
      • type: string
x-kubernetes-list-map-keys
string array
x-kubernetes-list-map-keys додає анотацію до масиву з типом x-kubernetes-list-type map, вказуючи ключі, що використовуються як індекси мапи. Цей тег ПОВИНЕН використовуватися лише для списків, у яких для розширення "x-kubernetes-list-type" встановлено значення "map". Крім того, значення, вказані для цього атрибута, повинні бути полем скалярного типу дочірньої структури (вкладеність не підтримується). Вказані властивості повинні бути обов’язковими або мати стандартне значення, щоб гарантувати їх наявність для всіх елементів списку.
x-kubernetes-list-type
string
x-kubernetes-list-type додає анотацію до масиву, щоб детальніше описати його топологію. Це розширення повинно використовуватися лише для списків і може мати 3 можливі значення:
  1. atomic: список обробляється як єдиний обʼєкт, подібно до скаляра. Атомарні списки будуть повністю замінені при оновленні. Це розширення може використовуватися для будь-якого типу списку (структура, скаляр тощо).
  2. set: Множини — це списки, які не повинні мати кілька елементів з однаковим значенням. Кожне значення повинно бути скаляром, обʼєктом з x-kubernetes-map-type atomic або масивом з x-kubernetes-list-type atomic.
  3. map: Ці списки схожі на мапи тим, що їх елементи мають неіндексований ключ, який використовується для їх ідентифікації. Порядок зберігається при обʼєднанні. Тег map повинен використовуватися лише для списків з елементами типу обʼєкт. Стандартно для масивів використовується atomic.
x-kubernetes-map-type
string
x-kubernetes-map-type додає анотацію до обʼєкта, щоб детальніше описати його топологію. Це розширення повинно використовуватися лише тоді, коли тип обʼєкта є object, і може мати 2 можливі значення:
  1. granular: Ці мапи є фактичними мапами (пари ключ-значення), і кожне поле є незалежним від інших (вони можуть бути оброблені окремими акторами). Це стандартна поведінка для всіх мап.
  2. atomic: мапа обробляється як єдиний обʼєкт, подібно до скаляра. Атомарні мапи будуть повністю замінені при оновленні.
x-kubernetes-preserve-unknown-fields
boolean
x-kubernetes-preserve-unknown-fields зупиняє крок декодування API-сервера від обрізання полів, які не вказані в схемі валідації. Це впливає на поля рекурсивно, але повертає нормальну поведінку обрізання, якщо в схемі вказані вкладені властивості або additionalProperties. Може бути true або undefined. False заборонено.
x-kubernetes-validations
ValidationRule array
patch strategy: злиття за ключем rule
x-kubernetes-validations описує список правил валідації, написаних мовою виразів CEL.

JSONSchemaPropsOrArray

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


JSONSchemaPropsOrBool

JSONSchemaPropsOrBool представляє JSONSchemaProps або булеве значення. За замовчуванням для булевого властивості встановлено true.


SelectableField

SelectableField вказує шлях JSON до поля, яке може використовуватися з селекторами полів.


ПолеОпис
jsonPath *
string
jsonPath — це простий JSON шлях, який оцінюється для кожного власного ресурсу, щоб отримати значення селектора поля. Дозволені лише JSON шляхи без нотації масиву. Повинен вказувати на поле типу string, boolean або integer. Дозволені типи з enum значеннями та рядки з форматами. Якщо jsonPath посилається на відсутнє поле в ресурсі, jsonPath оцінюється як порожній рядок. Не повинен вказувати на поля метаданих. Обовʼязково.

ServiceReference

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


ПолеОпис
name *
string
name — це імʼя сервісу. Обовʼязково.
namespace *
string
namespace — це простір імен сервісу. Обовʼязково.
path
string
path — це необовʼязковий URL шлях, за яким буде звертатися вебхук.
port
integer
port — це необовʼязковий порт сервісу, за яким буде звертатися вебхук. port повинен бути дійсним номером порту (1-65535, включно). Стандартно використовується 443 для зворотної сумісності.

ValidationRule

ValidationRule описує правило валідації, написане мовою виразів CEL.


ПолеОпис
fieldPath
string
fieldPath представляє шлях до поля, який повертається, коли валідація не проходить. Він повинен бути відносним JSON шляхом (тобто з нотацією масиву), обмеженим до місця розташування цього розширення x-kubernetes-validations у схемі, і посилатися на наявне поле. Наприклад, коли валідація перевіряє, чи конкретний атрибут foo присутній у мапі testMap, fieldPath може бути встановлений на .testMap.foo. Якщо перевірка передбачає, що два списки повинні містити унікальні атрибути, для параметра fieldPath можна вказати будь-який із цих списків: наприклад, .testList. Не підтримує числовий індекс списку. Підтримує операцію дочірнього елемента для посилання на наявне поле. Див. Підтримка JSONPath у Kubernetes для отримання додаткової інформації. Числовий індекс масиву не підтримується. Для імен полів, які містять спеціальні символи, використовуйте ['specialName'] для посилання на імʼя поля. Наприклад, для атрибута foo.34$, який зʼявляється у списку testList, fieldPath може бути встановлений на .testList['foo.34$']
message
string
Message представляє повідомлення, яке показується, коли валідація не проходить. Повідомлення є обовʼязковим, якщо правило містить розриви рядків. Повідомлення не повинно містити розриви рядків. Якщо не встановлено, повідомлення буде "failed rule: {Rule}". Наприклад: "must be a URL with the host matching spec.host"
messageExpression
string
MessageExpression оголошує вираз CEL, який оцінюється як повідомлення про помилку валідації, що повертається, коли це правило не проходить. Оскільки messageExpression використовується як повідомлення про помилку, воно повинно оцінюватися як рядок. Якщо обидва поля message і messageExpression присутні в правилі, то messageExpression буде використано у разі невдачі валідації. Якщо messageExpression призводить до помилки виконання, помилка виконання реєструється, а повідомлення про помилку валідації генерується так, ніби поле messageExpression не встановлено. Якщо messageExpression оцінюється як порожній рядок, рядок, що містить лише пробіли, або рядок, що містить розриви рядків, то повідомлення про помилку валідації також генерується так, ніби поле messageExpression не встановлено, і факт, що messageExpression призвело до порожнього рядка/рядка з лише пробілами/рядка з розривами рядків, буде зареєстровано. messageExpression має доступ до всіх тих самих змінних, що й правило; єдина різниця — тип, що повертається. Приклад: "x must be less than max ("+string(self.max)+")"
optionalOldSelf
boolean
optionalOldSelf використовується для включення правила переходу в обчислення навіть під час першого створення об’єкта або якщо старий об’єкт не містить значення. Якщо ця опція увімкнена, oldSelf буде опціональним елементом CEL, значення якого дорівнюватиме None, якщо старе значення відсутнє або якщо об’єкт створюється вперше. Ви можете перевірити наявність oldSelf за допомогою oldSelf.hasValue() і розпакувати його після перевірки за допомогою oldSelf.value(). Докладнішу інформацію дивіться в документації CEL щодо типів Optional: https://pkg.go.dev/github.com/google/cel-go/cel#OptionalTypes Не може бути встановлено, якщо oldSelf не використовується в rule.
reason
string
reason надає придатну для машинного зчитування причину помилки перевірки, яка повертається абоненту, коли запит не відповідає цьому правилу перевірки. Код статусу HTTP, що повертається абоненту, відповідатиме причині першого правила перевірки, яке не пройшло перевірку. Наразі підтримуються такі причини: "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate". Якщо цей параметр не вказано, за замовчуванням використовується "FieldValueInvalid". Усі причини, додані в майбутньому, повинні бути прийняті клієнтами під час зчитування цього значення, а невідомі причини слід розглядати як FieldValueInvalid.

Можливі значення enum:
  • "FieldValueDuplicate" використовується для повідомлення про конфлікти значень, які мають бути унікальними (наприклад, унікальні ідентифікатори).
  • "FieldValueForbidden" використовується для повідомлення про валідні (відповідно до правил форматування) значення, які будуть прийняті за певних умова, але які не дозволені поточними умовами (такими як політики бузпеки).
  • "FieldValueInvalid" використовується для повідомлення про спотворені значення (напр. збій регулярного виразу, дуже довгі, поза межами).
  • "FieldValueRequired" використовується для повідомлення про потрібні значення які не були надані (напр. порожні рядкі, значення null або порожні масиви).
rule *
string
Rule представляє вираз, який буде оцінюватися за допомогою CEL. Ref: https://github.com/google/cel-spec.

Rule поширюється на місце розташування розширення x-kubernetes-validations у схемі. Змінна self у виразі CEL привʼязана до значення, визначеного в цій області.

Наприклад правило, яке поширюється на корінь ресурсу з субресурсом статусу:
{"rule": "self.status.actual \<= self.spec.maxDesired"}
Якщо правило поширюється на обʼєкт з властивостями, доступні властивості обʼєкта можна вибирати за допомогою self.field, а наявність поля можна перевірити за допомогою has(self.field). Поля зі значенням null вважаються відсутніми в виразах CEL.

Якщо правило поширюється на обʼєкт з додатковими властивостями (тобто на мапу), значення мапи доступні через self[mapKey], наявність ключа в мапі можна перевірити через mapKey in self, а всі записи мапи доступні через макроси та функції CEL, такі як self.all(...).

Якщо правило поширюється на масив, елементи масиву доступні через self[i] і також через макроси та функції.

Якщо правило поширюється на скалярне значення, self привʼязане до скалярного значення.

Приклади:
  • Правило, яке поширюється на мапу обʼєктів: {"rule": "self.components['Widget'].priority \< 10"}
  • Правило, яке поширюється на список цілих чисел: {"rule": "self.values.all(value, value >= 0 && value \< 100)"}
  • Правило, яке поширюється на рядкове значення: {"rule": "self.startsWith('kube')"}
apiVersion, kind, metadata.name та metadata.generateName завжди доступні з кореня обʼєкта та з будь-яких обʼєктів, анотованих як x-kubernetes-embedded-resource. Жодні інші властивості метаданих недоступні.

Невідомі дані, збережені у власних ресурсах через x-kubernetes-preserve-unknown-fields, недоступні у виразах CEL. Це включає:
  • Невідомі значення полів, які зберігаються схемами обʼєктів з x-kubernetes-preserve-unknown-fields.
  • Властивості обʼєктів, де схема властивості є "невідомого типу". "Невідомий тип" визначається рекурсивно як:
    • Схема без типу і з x-kubernetes-preserve-unknown-fields, встановленим у true.
    • Масив, де схема елементів є "невідомого типу".
    • Обʼєкт, де схема additionalProperties є "невідомого типу".
Лише імена властивостей у формі [a-zA-Z_.-/][a-zA-Z0-9_.-/]* доступні.

Доступні імена властивостей екрануються відповідно до наступних правил при доступі у виразі:
  • '__' екранується як '__underscores__'.
  • '.' екранується як '__dot__'.
  • '-' екранується як '__dash__'.
  • '/' екранується як '__slash__'.
  • Імена властивостей, які точно збігаються з зарезервованим ключовим словом CEL, екрануються як '__{keyword}__'.
Ключові слова: "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if", "import", "let", "loop", "package", "namespace", "return".

Приклади:
  • Правило, яке отримує доступ до властивості з ім'ям "namespace": {"rule": "self.__namespace__ > 0"}
  • Правило, яке отримує доступ до властивості з ім'ям "x-prop": {"rule": "self.x__dash__prop > 0"}
  • Правило, яке отримує доступ до властивості з ім'ям "redact__d": {"rule": "self.redact__underscores__d > 0"}
Рівність масивів з x-kubernetes-list-type 'set' або 'map' ігнорує порядок елементів, тобто [1, 2] == [2, 1].

Конкатенація масивів з x-kubernetes-list-type використовує семантику типу списку:
  • 'set': X + Y виконує обʼєднання, де зберігаються позиції всіх елементів у X, а неперетинаючі елементи з Y додаються, зберігаючи їх частковий порядок.
  • 'map': X + Y виконує злиття, де зберігаються позиції всіх ключів у X, але значення перезаписуються значеннями з Y, коли множини ключів X і Y перетинаються. Елементи в Y з неперетинаючими ключами додаються, зберігаючи їх частковий порядок.
Якщо rule використовує змінну oldSelf, вона неявно є transition rule.

Стандартно змінна oldSelf має той самий тип, що й self. Коли optionalOldSelf встановлено в true, змінна oldSelf є CEL optional змінною, значення якої value() має той самий тип, що й self. Див. документацію для поля optionalOldSelf для деталей.

Правила переходу стандартно застосовуються лише до запитів UPDATE і пропускаються, якщо старе значення не знайдено. Ви можете зробити правило переходу безумовним, встановивши optionalOldSelf в true.

WebhookClientConfig

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


ПолеОпис
caBundle
string
caBundle є PEM закодованим CA-пакунком, який буде використаний для перевірки сертифіката сервера вебхука. Якщо не вказано, використовуються системні кореневі довірчі сертифікати на apiserver.
service
ServiceReference
service є посиланням на сервіс для цього вебхука. Має бути вказано або service, або url. Якщо вебхук працює всередині кластера, слід використовувати service.
url
string
url дає місцезнаходження вебхука у стандартній формі URL (scheme://host:port/path). Має бути вказано лише одне з полів url або service. Поле host не повинно посилатися на сервіс, що працює в кластері; замість цього слід використовувати поле service. Хост може бути визначений через зовнішній DNS в деяких apiserver (наприклад, kube-apiserver не може визначати внутрішній DNS кластера, оскільки це порушило б шарову архітектуру). host також може бути IP-адресою. Зверніть увагу, що використання localhost або 127.0.0.1 як host є ризикованим, якщо ви не забезпечите запуск цього вебхука на всіх хостах, які запускають apiserver і можуть потребувати викликів до цього вебхука. Такі установки, ймовірно, будуть непереносимими, тобто їх буде важко розгорнути в новому кластері. Схема повинна бути "https"; URL повинен починатися з "https://". Шлях є необовʼязковим, і якщо він присутній, може бути будь-яким рядком, допустимим у URL. Ви можете використовувати шлях для передачі довільного рядка вебхуку, наприклад, ідентифікатора кластера. Використання користувача або базової автентифікації, наприклад "user:password@", не дозволяється. Фрагменти ("#...") та параметри запиту ("?...") також не дозволяються.

WebhookConversion

WebhookConversion описує, як викликати вебхук для конверсії


ПолеОпис
clientConfig
WebhookClientConfig
clientConfig містить інструкції щодо виклику вебхука, якщо стратегія встановлена на Webhook.
conversionReviewVersions *
string array
conversionReviewVersions є впорядкованим списком переважних версій ConversionReview, які очікує вебхук. API-сервер використовуватиме першу версію зі списку, яку він підтримує. Якщо жодна з версій, зазначених у цьому списку, не підтримується API-сервером, конверсія для власного ресурсу не вдасться. Якщо збережена конфігурація вебхука вказує дозволені версії і не включає жодної версії, відомої API-серверу, виклики до вебхука не вдасться.

Операції


post Create

HTTP Запит

POST /apis/apiextensions.k8s.io/v1/customresourcedefinitions

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

НазваТипОпис
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, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

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

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

Відповідь

СтатусОписВідповідь
200OKCustomResourceDefinition
201CreatedCustomResourceDefinition
202AcceptedCustomResourceDefinition

patch Patch

HTTP Запит

PATCH /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}

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

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

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

НазваТипОпис
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

Відповідь

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

put Replace

HTTP Запит

PUT /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}

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

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

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

НазваТипОпис
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, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

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

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

Відповідь

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

delete Delete

HTTP Запит

DELETE /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}

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

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

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

НазваТипОпис
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

Відповідь

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

delete Delete Collection

HTTP Запит

DELETE /apis/apiextensions.k8s.io/v1/customresourcedefinitions

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

НазваТипОпис
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/apiextensions.k8s.io/v1/customresourcedefinitions/{name}

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

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

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

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

Відповідь

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

get List

HTTP Запит

GET /apis/apiextensions.k8s.io/v1/customresourcedefinitions

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

НазваТипОпис
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.

Відповідь

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

get Watch

HTTP Запит

GET /apis/apiextensions.k8s.io/v1/watch/customresourcedefinitions/{name}

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

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

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

НазваТипОпис
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/apiextensions.k8s.io/v1/watch/customresourcedefinitions

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

НазваТипОпис
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/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status

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

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

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

НазваТипОпис
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

Відповідь

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

get Read Status

HTTP Запит

GET /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status

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

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

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

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

Відповідь

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

put Replace Status

HTTP Запит

PUT /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status

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

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

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

НазваТипОпис
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, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

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

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

Відповідь

СтатусОписВідповідь
200OKCustomResourceDefinition
201CreatedCustomResourceDefinition
Востаннє змінено June 10, 2026 at 8:00 PM PST: [uk] Ukrainian translation (all-in-one) (4e8fe0f729)