Spec-Zone.ru › Kubernetes 1.28

ResourceClaim v1alpha2

ResourceClaim описывает, какие ресурсы необходимы потребителю ресурсов.

apiVersion: resource.k8s.io/v1alpha2

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

ResourceClaim

ResourceClaim описывает, какие ресурсы необходимы потребителю ресурсов. Его состояние отслеживает, был ли ресурс выделен и каковы получившиеся атрибуты.

Это тип альфа-версии и требует включения шлюза функций DynamicResourceAllocation.

  • apiVersion: resource.k8s.io/v1alpha2

  • 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), обязательное поле

        Обязательное поле. Список терминов селектора узла. Термы выполняются в операторе ИЛИ.

        Нулевой или пустой термин селектора узла не соответствует ни одному объекту. Требования к ним выполняются в операторе И. Тип TopologySelectorTerm реализует подмножество типа NodeSelectorTerm.

        • allocation.availableOnNodes.nodeSelectorTerms.matchExpressions ([]NodeSelectorRequirement)

          Список требований селектора узла по меткам узла.

        • allocation.availableOnNodes.nodeSelectorTerms.matchFields ([]NodeSelectorRequirement)

          Список требований селектора узла по полям узла.

    • allocation.resourceHandles ([]ResourceHandle)

      Атомарный: будет заменён во время слияния

      ResourceHandles содержат состояние, связанное с выделением, которое должно сохраняться на протяжении всего срока действия запроса. Каждый ResourceHandle содержит данные, которые должны быть переданы определённому плагину kubelet, как только он окажется на узле. Эти данные возвращаются драйвером после успешного выделения и невидимы для Kubernetes. Документация по драйверу может объяснить пользователям, как интерпретировать эти данные при необходимости.

      Установка этого поля необязательна. Максимальный размер — 32 записи. Если null (или пустой), предполагается, что это выделение будет обработано одним плагином kubelet без присоединённых данных ResourceHandle. Имя вызываемого плагина kubelet будет соответствовать значению DriverName, заданному в ResourceClaimStatus, в котором вложен AllocationResult.

      ResourceHandle содержит невидимые данные ресурса для обработки определённым плагином kubelet.

      • allocation.resourceHandles.data (строка)

        Data содержит невидимые данные, связанные с этим ResourceHandle. Он устанавливается компонентом контроллера драйвера ресурса, чьё имя соответствует значению DriverName, заданному в ResourceClaimStatus, в котором вложен этот ResourceHandle. Он устанавливается во время выделения и предназначен для обработки плагином kubelet, чьё имя соответствует значению DriverName в этом ResourceHandle.

        Максимальный размер этого поля — 16 КБ. В будущем он может быть увеличен, но не уменьшен.

      • allocation.resourceHandles.driverName (строка)

        DriverName указывает имя драйвера ресурса, чьё плагин kubelet должно быть вызвано для обработки данных ResourceHandle, как только оно окажется на узле. Это может отличаться от DriverName, заданного в ResourceClaimStatus, в котором вложен этот ResourceHandle.

    • allocation.shareable (булево)

      Shareable определяет, поддерживает ли ресурс более одного потребителя одновременно.

  • deallocationRequested (булево)

    DeallocationRequested указывает, что ResourceClaim должен быть освобождён.

    Затем драйвер должен освободить этот запрос и сбросить поле вместе с очисткой поля Allocation.

    Пока DeallocationRequested установлен, новые потребители не могут быть добавлены в ReservedFor.

  • driverName (строка)

    DriverName — это копия имени драйвера из ResourceClass на момент начала выделения.

  • reservedFor ([]ResourceClaimConsumerReference)

    Карта: уникальные значения в ключе uid будут сохранены при слиянии

    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/v1alpha2

  • 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-28.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/resource-claim-v1alpha2/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API