Spec-Zone.ru › Kubernetes 1.26

PersistentVolumeClaim

PersistentVolumeClaim — это запрос пользователя на постоянный том и утверждение его принадлежности.

apiVersion: v1

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

PersistentVolumeClaim

PersistentVolumeClaim — это запрос пользователя на постоянный том и утверждение его принадлежности

  • apiVersion: v1

  • kind: PersistentVolumeClaim

  • metadata (ObjectMeta)

    Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (PersistentVolumeClaimSpec)

    spec определяет желаемые характеристики тома, запрошенного автором под. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

  • status (PersistentVolumeClaimStatus)

    status представляет текущую информацию/статус запроса на постоянный том. Только для чтения. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

PersistentVolumeClaimSpec

PersistentVolumeClaimSpec описывает общие атрибуты устройств хранения и позволяет использовать источник для поставщика-специфичных атрибутов

  • accessModes ([]string)

    accessModes содержит желаемые режимы доступа, которые должен иметь том. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

  • selector (LabelSelector)

    selector — это запрос по меткам для томов, которые нужно рассмотреть для привязки.

  • resources (ResourceRequirements)

    resources представляет минимальные ресурсы, которые должен иметь том. Если функция RecoverVolumeExpansionFailure включена, пользователям разрешается указывать требования к ресурсам, которые ниже предыдущего значения, но должны быть все ещё выше, чем ёмкость, записанная в поле status заявления. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

    ResourceRequirements описывает требования к вычислительным ресурсам.

    • resources.claims ([]ResourceClaim)

      Множество: уникальные значения сохраняются при слиянии

      Claims перечисляет имена ресурсов, определённых в spec.resourceClaims, которые используются данным контейнером.

      Это поле alpha и требует включения функции DynamicResourceAllocation.

      Это неизменяемое поле.

      ResourceClaim ссылается на одну запись в PodSpec.ResourceClaims.

      • resources.claims.name (string), обязательное

        Имя должно совпадать с именем одной записи в pod.spec.resourceClaims под, где используется это поле. Это делает ресурс доступным внутри контейнера.

    • resources.limits (map[string]Quantity)

      Limits описывает максимальное количество разрешенных вычислительных ресурсов. Дополнительная информация: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

    • resources.requests (map[string]Quantity)

      Requests описывает минимальное количество требуемых вычислительных ресурсов. Если Requests опущен для контейнера, по умолчанию он равен Limits, если это явно указано, иначе — определённому реализацией значению. Дополнительная информация: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

  • volumeName (string)

    volumeName — это ссылка на привязку к PersistentVolume, поддерживающему это заявление.

  • storageClassName (string)

    storageClassName — это имя StorageClass, требуемое заявлением. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

  • volumeMode (string)

    volumeMode определяет тип тома, требуемого заявлением. Значение Filesystem подразумевается, если оно не указано в спецификации заявления.

Уровень beta

  • dataSource (TypedLocalObjectReference)

    поле dataSource может использоваться для указания: * существующего объекта VolumeSnapshot (snapshot.storage.k8s.io/VolumeSnapshot) * существующего PVC (PersistentVolumeClaim) Если провайдер или внешний контроллер могут поддерживать указанный источник данных, он создаст новый том на основе содержимого указанного источника данных. При включении функции AnyVolumeDataSource содержимое dataSource будет скопировано в dataSourceRef, а содержимое dataSourceRef будет скопировано в dataSource, если namespace в dataSourceRef не указан. Если namespace указан, то dataSourceRef не будет скопирован в dataSource.

  • dataSourceRef (TypedObjectReference)

    dataSourceRef указывает объект, из которого нужно заполнить том данными, если требуется ненулевой том. Это может быть любой объект из непустой API-группы (не базовый объект) или объект PersistentVolumeClaim. При указании этого поля привязка тома будет успешной только в том случае, если тип указанного объекта соответствует установленной функции заполнения томов или динамическому провайдеру. Это поле заменит функциональность поля dataSource, и, следовательно, если оба поля непустые, они должны иметь одинаковое значение. Для обратной совместимости, когда namespace не указан в dataSourceRef, оба поля (dataSource и dataSourceRef) будут автоматически установлены в одинаковое значение, если одно из них пустое, а другое — непустое. Когда namespace указан в dataSourceRef, dataSource не устанавливается в одинаковое значение и должен быть пустым. Существуют три важных различия между dataSource и dataSourceRef: * Хотя dataSource допускает только два определенных типа объектов, dataSourceRef допускает любой не основной объект, а также объекты PersistentVolumeClaim. * В то время как dataSource игнорирует недопустимые значения (отбрасывая их), dataSourceRef сохраняет все значения и генерирует ошибку, если указано недопустимое значение. * Хотя dataSource допускает только локальные объекты, dataSourceRef допускает объекты во всех пространствах имен. (Beta) Для использования этого поля требуется включить функцию AnyVolumeDataSource. (Alpha) Для использования поля namespace в dataSourceRef требуется включить функцию CrossNamespaceVolumeDataSource.

    • dataSourceRef.kind (string), обязательное

      Kind — это тип ресурса, на который ссылаются.

    • dataSourceRef.name (string), обязательное

      Name — это имя ресурса, на который ссылаются.

    • dataSourceRef.apiGroup (string)

      APIGroup — это группа для ресурса, на который ссылаются. Если APIGroup не указан, указанный Kind должен быть в основной API-группе. Для других типов сторонних поставщиков APIGroup требуется.

    • dataSourceRef.namespace (string)

      Namespace — это пространство имен ресурса, на который ссылаются. Обратите внимание, что при указании пространства имен требуется объект gateway.networking.k8s.io/ReferenceGrant в пространстве имен, на которое ссылаются, для разрешения владельцу этого пространства имен принять ссылку. Смотрите документацию по ReferenceGrant для получения подробностей. (Alpha) Это поле требует включения функции CrossNamespaceVolumeDataSource.

PersistentVolumeClaimStatus

PersistentVolumeClaimStatus — это текущий статус запроса на постоянный том.

  • accessModes ([]string)

    accessModes содержит фактические режимы доступа к объёму, на котором хранится PVC. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

  • allocatedResources (map[string]Quantity)

    allocatedResources — это хранилищные ресурсы в рамках AllocatedResources, отслеживающие выделенный объём для PVC. Он может быть больше фактического объёма, когда запрашивается расширение объёма. Для квоты на хранилище используется большее значение из allocatedResources и PVC.spec.resources. Если allocatedResources не задан, для расчёта квоты используется только PVC.spec.resources. Если запрос на объём расширения уменьшен, allocatedResources уменьшается только в том случае, если нет операций расширения в процессе и фактический объём хранилища равен или меньше запрошенного объёма. Это поле alpha и требует включения функции RecoverVolumeExpansionFailure.

  • capacity (map[string]Quantity)

    capacity представляет собой фактические ресурсы базового объёма.

  • conditions ([]PersistentVolumeClaimCondition)

    Стратегия патчинга: объединение по ключу type

    conditions — текущее состояние Persistent Volume Claim. Если базовый объём хранилища изменяется в размерах, то состояние устанавливается в 'ResizeStarted'.

    PersistentVolumeClaimCondition содержит информацию о состоянии PVC

    • conditions.status (string), необходимо

    • conditions.type (string), необходимо

    • conditions.lastProbeTime (Time)

      lastProbeTime — время, когда мы проверили состояние.

      Time — оболочка вокруг time.Time, которая поддерживает правильное сериализацию в YAML и JSON. Оболочки предоставляются для многих из фабричных методов, которые предлагает пакет time.

    • conditions.lastTransitionTime (Time)

      lastTransitionTime — время, когда состояние перешло от одного статуса к другому.

      Time — оболочка вокруг time.Time, которая поддерживает правильное сериализацию в YAML и JSON. Оболочки предоставляются для многих из фабричных методов, которые предлагает пакет time.

    • conditions.message (string)

      message — удобочитаемое сообщение, содержащее подробности о последнем изменении.

    • conditions.reason (string)

      reason — уникальная, должна быть короткой и понятной для машины строкой, которая объясняет причину последнего изменения состояния. Если она сообщает "ResizeStarted", это означает, что базовый объём хранилища изменяется в размерах.

  • phase (string)

    phase представляет собой текущую фазу PersistentVolumeClaim.

  • resizeStatus (string)

    resizeStatus хранит состояние операции изменения размера. ResizeStatus по умолчанию не задан, но когда расширение завершено, resizeStatus устанавливается в пустую строку контроллером изменения размера или kubelet. Это поле alpha и требует включения функции RecoverVolumeExpansionFailure.

СписокPersistentVolumeClaim

PersistentVolumeClaimList — это список элементов PersistentVolumeClaim.

  • apiVersion: v1

  • kind: PersistentVolumeClaimList

  • metadata (ListMeta)

    Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • items ([]PersistentVolumeClaim), необходимо

    items — список persistent volume claims. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

© 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/config-and-storage-resources/persistent-volume-claim-v1/

Spec-Zone.ru

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