Spec-Zone.ru › Kubernetes 1.27

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

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

    • resources.claims ([]ResourceClaim)

      Отображение: уникальные значения в ключе name будут сохранены во время слияния

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

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

      Это поле неизменяемо. Его можно установить только для контейнеров.

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

      • resources.claims.name (string), required

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

    • resources.limits (map[string]Quantity)

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

    • resources.requests (map[string]Quantity)

      Requests описывает минимальное количество требуемых вычислительных ресурсов. Если Requests опущен для контейнера, он по умолчанию равен Limits, если это явно указано, в противном случае — определённое реализацией значение. 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 подразумевается, если оно не указано в спецификации запроса.

Уровень бета-версии

  • dataSource (TypedLocalObjectReference)

    Поле dataSource может быть использовано для указания: * Существующего объекта VolumeSnapshot (snapshot.storage.k8s.io/VolumeSnapshot) * Существующего PVC (PersistentVolumeClaim) Если провайдер или внешний контроллер может поддерживать указанный источник данных, он создаст новый том на основе содержимого указанного источника данных. При включенном параметре AnyVolumeDataSource содержимое dataSource будет скопировано в dataSourceRef, а содержимое dataSourceRef будет скопировано в dataSource, если dataSourceRef.namespace не указан. Если 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 допускает объекты в любых пространствах имен. (Бета) Использование этого поля требует включения параметра AnyVolumeDataSource. (Альфа) Использование поля namespace в dataSourceRef требует включения параметра CrossNamespaceVolumeDataSource.

    **

    • dataSourceRef.kind (string), required

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

    • dataSourceRef.name (string), required

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

    • dataSourceRef.apiGroup (string)

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

    • dataSourceRef.namespace (string)

      Namespace — это пространство имен ресурса, на который ссылаются. Обратите внимание, что при указании пространства имен, в пространстве имен референта требуется объект gateway.networking.k8s.io/ReferenceGrant, позволяющий владельцу этого пространства имен принять ссылку. См. документацию ReferenceGrant для получения подробностей. (Альфа) Это поле требует включения параметра 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 уменьшается только в том случае, если нет операций расширения в процессе и если фактический объём тома равен или меньше запрошенного объёма. Это поле альфа-версии и требует включения функции RecoverVolumeExpansionFailure.

  • capacity (map[string]Quantity)

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

  • conditions ([]PersistentVolumeClaimCondition)

    Стратегия патчинга: merge по ключу 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. Это поле альфа-версии и требует включения функции 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 — это список постоянных объёмов. Дополнительная информация: 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-27.docs.kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/

Spec-Zone.ru

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