ResourceClaim v1alpha1
apiVersion: resource.k8s.io/v1alpha1
import "k8s.io/api/resource/v1alpha1"
ResourceClaim
ResourceClaim описывает, какие ресурсы необходимы потребителю ресурсов. Его состояние отслеживает, был ли ресурс выделен и каковы получившиеся атрибуты.
Это тип alpha и требует включения шлюза DynamicResourceAllocation.
-
apiVersion: resource.k8s.io/v1alpha1
-
kind: ResourceClaim
-
metadata (ObjectMeta)
Стандартные метаданные объекта
-
spec (ResourceClaimSpec), обязательный
Spec описывает желаемые атрибуты ресурса, который затем необходимо выделить. Его можно установить только один раз при создании ResourceClaim.
-
status (ResourceClaimStatus)
Status описывает доступность ресурса и его атрибуты.
ResourceClaimSpec
ResourceClaimSpec определяет, как должен быть выделен ресурс.
-
resourceClassName (строка), обязательный
ResourceClassName ссылается на драйвер и дополнительные параметры через имя ResourceClass, которое было создано в рамках развертывания драйвера.
-
allocationMode (строка)
Выделение может начаться немедленно или когда Pod хочет использовать ресурс. "WaitForFirstConsumer" — значение по умолчанию.
-
parametersRef (ResourceClaimParametersReference)
ParametersRef ссылается на отдельный объект с произвольными параметрами, которые будут использоваться драйвером при выделении ресурса для запроса.
Объект должен находиться в том же пространстве имён, что и ResourceClaim.
ResourceClaimParametersReference содержит достаточную информацию, чтобы вы могли найти параметры для ResourceClaim. Объект должен находиться в том же пространстве имён, что и ResourceClaim.
-
parametersRef.kind (строка), обязательный
Kind — тип ресурса, на который делается ссылка. Это то же значение, что и в метаданных объекта параметра, например, "ConfigMap".
-
parametersRef.name (строка), обязательный
Name — имя ресурса, на который делается ссылка.
-
parametersRef.apiGroup (строка)
APIGroup — группа для ресурса, на который делается ссылка. Она пустая для базового API. Это соответствует группе в APIVersion, которая используется при создании ресурсов.
-
ResourceClaimStatus
ResourceClaimStatus отслеживает, был ли ресурс выделен и каковы получившиеся атрибуты.
-
allocation (AllocationResult)
Allocation устанавливается драйвером ресурса, как только ресурс успешно выделен. Если это не указано, ресурс ещё не выделен.
AllocationResult содержит атрибуты выделенного ресурса.
-
allocation.availableOnNodes (NodeSelector)
Это поле будет установлено драйвером ресурса после выделения ресурса, чтобы сообщить планировщику, где он может запланировать Pod, использующий ResourceClaim.
Установка этого поля необязательна. Если null, ресурс доступен везде.
Выбор узла представляет собой объединение результатов одного или нескольких запросов по меткам по набору узлов; то есть, он представляет собой ИЛИ селекторов, представленных терминами селектора узла.
-
allocation.availableOnNodes.nodeSelectorTerms ([]NodeSelectorTerm), обязательный
Обязательно. Список терминов селектора узла. Термы — ИЛИ.
Пустой или null термин селектора узла не соответствует ни одному объекту. Требования к ним — И. Тип TopologySelectorTerm реализует подмножество NodeSelectorTerm.
-
allocation.availableOnNodes.nodeSelectorTerms.matchExpressions ([]NodeSelectorRequirement)
Список требований селектора узла по меткам узла.
-
allocation.availableOnNodes.nodeSelectorTerms.matchFields ([]NodeSelectorRequirement)
Список требований селектора узла по полям узла.
-
-
-
allocation.resourceHandle (строка)
ResourceHandle содержит произвольные данные, возвращаемые драйвером после успешного выделения. Это непрозрачно для Kubernetes. Документация драйвера может объяснить пользователям, как интерпретировать эти данные при необходимости.
Максимальный размер этого поля — 16 КБ. В будущем его могут увеличить, но не уменьшить.
-
allocation.shareable (булево)
Shareable определяет, поддерживает ли ресурс более одного потребителя одновременно.
-
-
deallocationRequested (булево)
DeallocationRequested указывает, что ResourceClaim должен быть освобожден.
Драйвер должен затем освободить этот запрос и сбросить поле вместе с очисткой поля Allocation.
Пока DeallocationRequested установлен, к ReservedFor не могут быть добавлены новые потребители.
-
driverName (строка)
DriverName — копия имени драйвера из ResourceClass на момент начала выделения.
-
reservedFor ([]ResourceClaimConsumerReference)
Установлено: уникальные значения будут сохраняться во время слияния
ReservedFor указывает, какие сущности в настоящее время разрешено использовать запрос. Pod, который ссылается на ResourceClaim, который не зарезервирован для этого Pod, не будет запущен.
Таких резервирований может быть не более 32. В будущем их количество может быть увеличено, но не уменьшено.
ResourceClaimConsumerReference содержит достаточную информацию, чтобы вы могли найти потребителя ResourceClaim. Пользователь должен быть ресурсом в том же пространстве имён, что и ResourceClaim.
-
reservedFor.name (строка), обязательный
Name — имя ресурса, на который делается ссылка.
-
reservedFor.resource (строка), обязательный
Resource — тип ресурса, на который делается ссылка, например, "pods".
-
reservedFor.uid (строка), обязательный
UID идентифицирует ровно одну итерацию ресурса.
-
reservedFor.apiGroup (строка)
APIGroup — группа для ресурса, на который делается ссылка. Она пустая для базового API. Это соответствует группе в APIVersion, которая используется при создании ресурсов.
-
ResourceClaimList
ResourceClaimList — коллекция запросов.
-
apiVersion: resource.k8s.io/v1alpha1
-
kind: ResourceClaimList
-
metadata (ListMeta)
Стандартные метаданные списка
-
items ([]ResourceClaim), обязательный
Items — список запросов на ресурсы.
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-26.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/resource-claim-v1alpha1/