Spec-Zone.ru › Kubernetes 1.26

CSIDriver

CSIDriver собирает информацию о драйвере объёма интерфейса хранения контейнеров (CSI), развернутом в кластере.

apiVersion: storage.k8s.io/v1

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

CSIDriver

CSIDriver собирает информацию о драйвере объёма интерфейса хранения контейнеров (CSI), развернутом в кластере. Контроллер Kubernetes attach detach использует этот объект для определения необходимости прикрепления. Kubelet использует этот объект для определения, требуется ли передавать информацию о pod при монтировании. Объекты CSIDriver не имеют пространства имён.

  • apiVersion: storage.k8s.io/v1

  • kind: CSIDriver

  • metadata (ObjectMeta)

    Стандартные метаданные объекта. metadata.Name указывает имя драйвера CSI, на которое ссылается этот объект; оно ДОЛЖНО совпадать с именем, возвращённым вызовом CSI GetPluginName() для этого драйвера. Имя драйвера должно содержать 63 символа или меньше, начинаться и заканчиваться буквенно-цифровым символом ([a-z0-9A-Z]), содержать дефисы (-), точки (.) и буквенно-цифровые символы между ними. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (CSIDriverSpec), обязательно

    Спецификация драйвера CSI.

CSIDriverSpec

CSIDriverSpec — это спецификация CSIDriver.

  • attachRequired (boolean)

    attachRequired указывает, что этому драйверу CSI требуется операция attach (поскольку он реализует метод CSI ControllerPublishVolume()), и что контроллер Kubernetes attach detach должен вызывать интерфейс attach volume, который проверяет состояние volumeattachment и ждёт, пока объём не будет подключён, прежде чем приступать к монтированию. CSI external-attacher координирует работу с драйвером CSI объёма и обновляет статус volumeattachment, когда операция attach завершена. Если шлюз CSIDriverRegistry включён и значение установлено в false, операция attach будет пропущена. В противном случае операция attach будет вызвана.

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

  • fsGroupPolicy (string)

    Определяет, поддерживает ли базовый объём изменение владения и разрешений объёма перед его монтированием. Дополнительные сведения см. в значениях конкретного FSGroupPolicy.

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

    По умолчанию используется ReadWriteOnceWithFSType, который будет проверять каждый объём, чтобы определить, должен ли Kubernetes изменять владение и разрешения объёма. При использовании политики по умолчанию определённая группа fs будет применена только в том случае, если тип fstype определён, а режим доступа объёма содержит ReadWriteOnce.

  • podInfoOnMount (boolean)

    Если установлено в true, podInfoOnMount указывает, что этому драйверу CSI требуется дополнительная информация о pod (например, podName, podUID и т. д.) во время операций монтирования. Если установлено в false, информация о pod не будет передаваться при монтировании. По умолчанию значение false. Драйвер CSI указывает podInfoOnMount как часть развертывания драйвера. Если значение true, Kubelet передаст информацию о pod как VolumeContext в вызовы CSI NodePublishVolume(). Драйвер CSI отвечает за обработку и валидацию информации, переданной в VolumeContext. Следующий VolumeConext будет передан, если podInfoOnMount установлено в true. Этот список может увеличиваться, но префикс будет использоваться. «csi.storage.k8s.io/pod.name»: pod.Name «csi.storage.k8s.io/pod.namespace»: pod.Namespace «csi.storage.k8s.io/pod.uid»: string(pod.UID) «csi.storage.k8s.io/ephemeral»: «true», если объём является временным встроенным объёмом, определённым CSIVolumeSource, в противном случае «false»

    «csi.storage.k8s.io/ephemeral» — новая функция в Kubernetes 1.16. Она требуется только для драйверов, которые поддерживают оба режима VolumeLifecycleMode «Persistent» и «Ephemeral». Другие драйверы могут отключить информацию о pod и/или игнорировать это поле. Поскольку Kubernetes 1.15 не поддерживает это поле, драйверы могут поддерживать только один режим при развертывании в таком кластере, и развертывание определяет этот режим, например, через параметр командной строки драйвера.

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

  • requiresRepublish (boolean)

    RequiresRepublish указывает, что драйвер CSI хочет, чтобы NodePublishVolume вызывался периодически для отражения любых возможных изменений в смонтированном объёме. По умолчанию значение false.

    Примечание: после успешного вызова NodePublishVolume, последующие вызовы NodePublishVolume должны обновлять только содержимое объёма. Новые точки монтирования не будут видны работающему контейнеру.

  • seLinuxMount (boolean)

    SELinuxMount указывает, поддерживает ли драйвер CSI опцию монтирования «-o context».

    Когда значение «true», драйвер CSI должен гарантировать, что все объёмы, предоставляемые этим драйвером CSI, могут быть смонтированы отдельно с разными -o context опциями. Это типично для хранилищ, которые предоставляют объёмы как файловые системы на блочных устройствах или как независимые объёмы общего доступа. Kubernetes будет вызывать NodeStage/NodePublish с опцией монтирования «-o context=xyz», когда монтируется объём ReadWriteOncePod, используемый в Pod, в котором явно установлен контекст SELinux. В будущем это может быть расширено на другие режимы доступа к объёму. В любом случае Kubernetes будет гарантировать, что объём смонтирован только с одним контекстом SELinux.

    Когда значение «false», Kubernetes не будет передавать какие-либо специальные опции монтирования SELinux драйверу. Это типично для объёмов, представляющих подкаталоги большей общей файловой системы.

    Значение по умолчанию — «false».

  • storageCapacity (boolean)

    Если установлено в true, storageCapacity указывает, что драйвер CSI объёма хочет, чтобы планирование pod учитывало ёмкость хранилища, которую развертывание драйвера сообщит, создав объекты CSIStorageCapacity с информацией о ёмкости.

    Проверку можно включить сразу при развертывании драйвера. В этом случае выделение новых объёмов с задержкой привязки будет приостановлено, пока развертывание драйвера не опубликует подходящий объект CSIStorageCapacity.

    В качестве альтернативы драйвер можно развернуть с не заданным или false значением поля и переключить его позже, когда информация о ёмкости хранилища будет опубликована.

    Это поле было неизменяемым в Kubernetes <= 1.22 и теперь является изменяемым.

  • tokenRequests ([]TokenRequest)

    Атомарно: будет заменено при слиянии

    TokenRequests указывает, что драйвер CSI нуждается в токенах учётных записей сервиса pod, для которых он монтирует объём, чтобы выполнить необходимую аутентификацию. Kubelet будет передавать токены в VolumeContext в вызовах CSI NodePublishVolume. Драйвер CSI должен обрабатывать и проверять следующий VolumeContext: «csi.storage.k8s.io/serviceAccount.tokens»: { «<адресат>»: { «токен»: «<токен>», «expirationTimestamp»: «<метка времени истечения срока действия в формате RFC3339>», }, ... }

    Примечание: Адресат в каждом TokenRequest должен быть различным, и не более одного токена может быть пустой строкой. Чтобы получить новый токен после истечения срока действия, можно использовать RequiresRepublish для периодического запуска NodePublishVolume.

    TokenRequest содержит параметры токена учётной записи сервиса.

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

      Адресат — это целевой адресат токена в «TokenRequestSpec». Он по умолчанию будет соответствовать адресатам kube apiserver.

    • tokenRequests.expirationSeconds (int64)

      ExpirationSeconds — это продолжительность срока действия токена в «TokenRequestSpec». Он имеет то же значение по умолчанию, что и «ExpirationSeconds» в «TokenRequestSpec».

  • volumeLifecycleModes ([]string)

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

    volumeLifecycleModes определяет, какие типы объёмов поддерживает этот драйвер CSI объёма. По умолчанию, если список пуст, используется «Persistent», что соответствует использованию, определённому в спецификации CSI и реализованному в Kubernetes с помощью обычного механизма PV/PVC. Другой режим — «Ephemeral». В этом режиме объёмы определяются внутри спецификации pod с помощью CSIVolumeSource, и их жизненный цикл связан с жизненным циклом этого pod. Драйверу необходимо учитывать это, поскольку он получит только вызов NodePublishVolume для такого объёма. Более подробную информацию о реализации этого режима см. в https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html Драйвер может поддерживать один или несколько режимов, и в будущем могут быть добавлены другие режимы. Это поле — бета-версия.

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

CSIDriverList

CSIDriverList — это коллекция объектов CSIDriver.

  • apiVersion: storage.k8s.io/v1

  • kind: CSIDriverList

  • metadata (ListMeta)

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

  • items ([]CSIDriver), обязательно

    items — это список CSIDriver

© 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/csi-driver-v1/

Spec-Zone.ru

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