Spec-Zone.ru › Kubernetes 1.24

CSIDriver

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

apiVersion: storage.k8s.io/v1

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

CSIDriver

CSIDriver собирает информацию о драйвере объёма интерфейса хранения контейнеров (CSI), развернутом в кластере. Контроллер Kubernetes для прикрепления и открепления использует этот объект, чтобы определить, требуется ли прикрепление. Kubelet использует этот объект, чтобы определить, нужно ли передавать информацию о под на этапе монтирования. Объекты 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 (булево)

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

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

  • fsGroupPolicy (строка)

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

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

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

  • podInfoOnMount (булево)

    Если установлено в true, podInfoOnMount указывает, что этому драйверу объёма CSI требуется дополнительная информация о под (например, podName, podUID и т. д.) во время операций монтирования. Если установлено в false, информация о под не будет передаваться при монтировании. По умолчанию значение false. Драйвер CSI указывает podInfoOnMount как часть развертывания драйвера. Если true, Kubelet передаст информацию о под как 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». Другие драйверы могут оставить информацию о под отключённой и/или игнорировать это поле. Поскольку Kubernetes 1.15 не поддерживает это поле, драйверы могут поддерживать только один режим при развертывании в таком кластере, и развертывание определяет этот режим, например, через параметр командной строки драйвера.

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

  • requiresRepublish (булево)

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

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

  • storageCapacity (булево)

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

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

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

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

  • tokenRequests ([]TokenRequest)

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

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

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

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

    • tokenRequests.audience (строка), необходимо

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

    • tokenRequests.expirationSeconds (int64)

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

  • volumeLifecycleModes ([]string)

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

    volumeLifecycleModes определяет типы объёмов, которые поддерживает этот драйвер объёма CSI. Если список пустой, по умолчанию используется «Persistent», который определён в спецификации CSI и реализован в Kubernetes с помощью обычного механизма PV/PVC. Другой режим — «Ephemeral». В этом режиме объёмы определяются непосредственно в спецификации под с помощью CSIVolumeSource, и их жизненный цикл привязан к жизненному циклу этой под. Драйвер должен учитывать это, потому что он получит только вызов 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-24.docs.kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/csi-driver-v1/

Spec-Zone.ru

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