Spec-Zone.ru › Kubernetes

Том

Том представляет собой именованный том в под, к которому могут получить доступ все контейнеры в данном под.

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

Том

Том представляет собой именованный том в под, к которому могут получить доступ все контейнеры в данном под.

  • имя (строка), обязательно

    имя тома. Должно быть меткой DNS_LABEL и уникальным в рамках под. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

Экспонированные постоянные тома

  • persistentVolumeClaim (PersistentVolumeClaimVolumeSource)

    persistentVolumeClaimVolumeSource представляет ссылку на PersistentVolumeClaim в том же пространстве имен. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

    PersistentVolumeClaimVolumeSource ссылается на PVC пользователя в том же пространстве имен. Этот том находит привязанный PV и монтирует этот том для под. PersistentVolumeClaimVolumeSource — это, по сути, оболочка вокруг другого типа тома, который принадлежит кому-то другому (системе).

    • persistentVolumeClaim.claimName (строка), обязательно

      claimName — это имя PersistentVolumeClaim в том же пространстве имен, что и под, использующий этот том. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

    • persistentVolumeClaim.readOnly (логическое значение)

      readOnly Принудительно задаст значение ReadOnly в VolumeMounts. По умолчанию ложь.

Проекции

  • configMap (ConfigMapVolumeSource)

    configMap представляет configMap, который должен заполнить этот том

    *Преобразует ConfigMap в том.

    Содержимое поля Data целевого ConfigMap будет представлено в томе в виде файлов, используя ключи из поля Data в качестве имён файлов, если элемент items не заполнен с конкретными сопоставлениями ключей путям. Тома configMap поддерживают управление правами владения и перемаркировку SELinux.*

    • configMap.name (строка)

      Имя объекта-референции. Это поле фактически обязательно, но из-за обратной совместимости допускается пустое значение. Примеры этого типа с пустым значением здесь, скорее всего, неправильные. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    • configMap.optional (логическое значение)

      optional указывает, нужно ли определять ConfigMap или его ключи

    • configMap.defaultMode (int32)

      defaultMode — необязательно: биты режима, используемые для установки разрешений на создаваемые файлы по умолчанию. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает как восьмеричные, так и десятичные значения, JSON требует десятичных значений для битов режима. По умолчанию 0644. Каталоги в пути не затронуты этим значением. Это может вступать в конфликт с другими параметрами, влияющими на режим файла, такими как fsGroup, и результатом может быть установка других битов режима.

    • configMap.items ([]KeyToPath)

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

      если items не указаны, каждая пара ключ-значение в поле Data указанного ConfigMap будет спроецирована в том в виде файла, имя которого — ключ, а содержимое — значение. Если указаны, перечисленные ключи будут спроецированы в указанные пути, а отсутствующие ключи не будут присутствовать. Если указан ключ, отсутствующий в ConfigMap, настройка тома завершится ошибкой, если он не помечен как необязательный. Пути должны быть относительными и не могут содержать путь «..» или начинаться с «..».

  • secret (SecretVolumeSource)

    secret представляет секрет, который должен заполнить этот том. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#secret

    *Преобразует Secret в том.

    Содержимое поля Data целевого Secret будет представлено в томе в виде файлов, используя ключи из поля Data в качестве имён файлов. Тома Secret поддерживают управление правами владения и перемаркировку SELinux.*

    • secret.secretName (строка)

      secretName — это имя секрета в пространстве имен под, которое необходимо использовать. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#secret

    • secret.optional (логическое значение)

      поле optional указывает, нужно ли определять Secret или его ключи

    • secret.defaultMode (int32)

      defaultMode — необязательно: биты режима, используемые для установки разрешений на создаваемые файлы по умолчанию. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает как восьмеричные, так и десятичные значения, JSON требует десятичных значений для битов режима. По умолчанию 0644. Каталоги в пути не затронуты этим значением. Это может вступать в конфликт с другими параметрами, влияющими на режим файла, такими как fsGroup, и результатом может быть установка других битов режима.

    • secret.items ([]KeyToPath)

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

      Если items не указаны, каждая пара ключ-значение в поле Data указанного Secret будет спроецирована в том в виде файла, имя которого — ключ, а содержимое — значение. Если указаны, перечисленные ключи будут спроецированы в указанные пути, а отсутствующие ключи не будут присутствовать. Если указан ключ, отсутствующий в Secret, настройка тома завершится ошибкой, если он не помечен как необязательный. Пути должны быть относительными и не могут содержать путь «..» или начинаться с «..».

  • downwardAPI (DownwardAPIVolumeSource)

    downwardAPI представляет информацию о под, которая должна заполнить этот том

    DownwardAPIVolumeSource представляет том, содержащий информацию о подсправочном API. Тома с данными подсправочного API поддерживают управление правами владения и перемаркировку SELinux.

    • downwardAPI.defaultMode (int32)

      Необязательно: биты режима, используемые для установки разрешений на создаваемые файлы по умолчанию. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает как восьмеричные, так и десятичные значения, JSON требует десятичных значений для битов режима. По умолчанию 0644. Каталоги в пути не затронуты этим значением. Это может вступать в конфликт с другими параметрами, влияющими на режим файла, такими как fsGroup, и результатом может быть установка других битов режима.

    • downwardAPI.items ([]DownwardAPIVolumeFile)

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

      Элементы — список файлов тома с данными подсправочного API.

  • проектируемый (ProjectedVolumeSource)

    проектируемые элементы для всех ресурсов в одном: секреты, конфиги и API-интерфейсы обратной связи

    Представляет проектируемый источник тома

    • projected.defaultMode (int32)

      defaultMode — это биты режима, используемые для установки разрешений на созданные файлы по умолчанию. Должно быть восьмеричное значение от 0000 до 0777 или десятичное значение от 0 до 511. YAML принимает как восьмеричные, так и десятичные значения, JSON требует десятичных значений для битов режима. Каталоги внутри пути не затронуты этим параметром. Это может вступать в конфликт с другими параметрами, влияющими на режим файла, такими как fsGroup, и в результате могут быть установлены другие биты режима.

    • projected.sources ([]VolumeProjection)

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

      sources — это список проекций томов. Каждый элемент в этом списке обрабатывает один источник.

      Проекция, которая может быть спроецирована вместе с другими поддерживаемыми типами томов. Должен быть установлен ровно один из этих полей.

      • projected.sources.clusterTrustBundle (ClusterTrustBundleProjection)

        ClusterTrustBundle позволяет подходу получить доступ к полю .spec.trustBundle объектов ClusterTrustBundle в автоматически обновляемом файле.

        Альфа-версия, ограниченная функцией ClusterTrustBundleProjection.

        Объекты ClusterTrustBundle могут быть выбраны по имени или по сочетанию имени подписывающего и селектора меток.

        Kubelet выполняет агрессивную нормализацию содержимого PEM, записываемого в файловую систему под.

        Эзотерические функции PEM, такие как межблочные комментарии и заголовки блоков, удаляются. Сертификаты дублируются. Порядок сертификатов в файле произвольный, и Kubelet может изменять порядок со временем.

        ClusterTrustBundleProjection описывает, как выбрать набор объектов ClusterTrustBundle и спроецировать их содержимое в файловую систему под.

        • projected.sources.clusterTrustBundle.path (string), required

          Относительный путь от корня тома для записи пакета.

        • projected.sources.clusterTrustBundle.labelSelector (LabelSelector)

          Выбрать все ClusterTrustBundles, соответствующие этому селектору меток. Действует только при установке signerName. Взаимоисключающее с name. Если не указано, интерпретируется как "не соответствовать ничего". Если указано, но пусто, интерпретируется как "соответствовать всему".

        • projected.sources.clusterTrustBundle.name (string)

          Выбрать один ClusterTrustBundle по имени объекта. Взаимоисключающее с signerName и labelSelector.

        • projected.sources.clusterTrustBundle.optional (boolean)

          Если true, не блокировать запуск под, если ссылки ClusterTrustBundle недоступны. При использовании имени, указанный ClusterTrustBundle может отсутствовать. Если используется signerName, то сочетание signerName и labelSelector может не соответствовать ни одному ClusterTrustBundle.

        • projected.sources.clusterTrustBundle.signerName (string)

          Выбрать все ClusterTrustBundles, соответствующие этому имени подписывающего. Взаимоисключающее с name. Содержимое всех выбранных ClusterTrustBundles будет объединено и дубликаты удалены.

      • projected.sources.configMap (ConfigMapProjection)

        информация о конфигурации данных configMap для проекции

        *Преобразует ConfigMap в проектируемый том.

        Содержимое поля Data целевого ConfigMap будет представлено в проектируемом томе как файлы, используя ключи в поле Data в качестве имён файлов, если элемент items не заполнен конкретными сопоставлениями ключей с путями. Обратите внимание, что это идентично источнику тома configmap без defaultMode.*

        • projected.sources.configMap.name (string)

          Имя референта. Это поле фактически обязательно, но из-за обратной совместимости разрешено быть пустым. Примеры этого типа с пустым значением здесь почти наверняка неверны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

        • projected.sources.configMap.optional (boolean)

          optional определяет, должен ли быть определен ConfigMap или его ключи

        • projected.sources.configMap.items ([]KeyToPath)

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

          Если unspecified, каждая пара ключ-значение в поле Data указанного ConfigMap будет спроецирована в том как файл, имя которого — ключ, а содержимое — значение. Если указано, перечисленные ключи будут спроецированы в указанные пути, а ключи, не включенные в список, отсутствовать. Если указан ключ, отсутствующий в ConfigMap, настройка тома выдаст ошибку, если не указано optional. Пути должны быть относительными и не могут содержать путь '..' или начинаться с '..'.

      • projected.sources.downwardAPI (DownwardAPIProjection)

        информация о данных downwardAPI для проекции

        Представляет информацию downward API для проекции в проектируемый том. Обратите внимание, что это идентично источнику тома downwardAPI без режима по умолчанию.

        • projected.sources.downwardAPI.items ([]DownwardAPIVolumeFile)

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

          Items — это список файлов DownwardAPIVolume.

      • projected.sources.secret (SecretProjection)

        информация о секретных данных для проекции

        *Преобразует secret в проектируемый том.

        Содержимое поля Data целевого Secret будет представлено в проектируемом томе как файлы, используя ключи в поле Data в качестве имён файлов. Обратите внимание, что это идентично источнику тома secret без режима по умолчанию.*

        • projected.sources.secret.name (string)

          Имя референта. Это поле фактически обязательно, но из-за обратной совместимости разрешено быть пустым. Примеры этого типа с пустым значением здесь почти наверняка неверны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

        • projected.sources.secret.optional (boolean)

          optional поле указывает, должен ли быть определен Secret или его ключ

        • projected.sources.secret.items ([]KeyToPath)

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

          Если unspecified, каждая пара ключ-значение в поле Data указанного Secret будет спроецирована в том как файл, имя которого — ключ, а содержимое — значение. Если указано, перечисленные ключи будут спроецированы в указанные пути, а ключи, не включенные в список, отсутствовать. Если указан ключ, отсутствующий в Secret, настройка тома выдаст ошибку, если не указано optional. Пути должны быть относительными и не могут содержать путь '..' или начинаться с '..'.

      • projected.sources.serviceAccountToken (ServiceAccountTokenProjection)

        serviceAccountToken содержит информацию о данных serviceAccountToken для проекции

        ServiceAccountTokenProjection представляет проектируемый токен учётной записи сервиса. Эту проекцию можно использовать для вставки токена учётной записи сервиса в файловую систему под для работы с API (Kubernetes API Server или другие).

        • projected.sources.serviceAccountToken.path (string), required

          path — путь, относительно точки монтирования, куда спроецировать токен.

        • projected.sources.serviceAccountToken.audience (string)

          audience — целевая аудитория токена. Получатель токена должен идентифицировать себя идентификатором, указанным в аудитории токена, и в противном случае должен отклонить токен. Аудитория по умолчанию — идентификатор apiserver.

        • projected.sources.serviceAccountToken.expirationSeconds (int64)

          expirationSeconds — запрашиваемая продолжительность срока действия токена учётной записи сервиса. По мере приближения срока действия токена плагин тома kubelet будет активно вращать токен учётной записи сервиса. Kubelet начнёт пытаться вращать токен, если токен старше 80% своего срока действия или старше 24 часов. Значение по умолчанию — 1 час, и оно должно быть не менее 10 минут.

Локальный/временный каталог

  • emptyDir (EmptyDirVolumeSource)

    emptyDir представляет временный каталог, живущий на протяжении всего существования под. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

    Представляет пустой каталог для под. Тома пустых каталогов поддерживают управление правами владения и перемаркировку SELinux.

    • emptyDir.medium (string)

      medium представляет тип носителя, который должен использоваться для этого каталога. Значение по умолчанию — "" (пустая строка), что означает использование по умолчанию для узла. Должно быть пустой строкой (по умолчанию) или Memory. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

    • emptyDir.sizeLimit (Quantity)

      sizeLimit — общий объём локального хранилища, требуемого для этого тома EmptyDir. Предел размера также применим для носителя памяти. Максимальное использование на носителе памяти EmptyDir будет минимальным значением между указанным SizeLimit и суммой ограничений памяти всех контейнеров в под. По умолчанию — nil, что означает, что предел не определён. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

  • hostPath (HostPathVolumeSource)

    hostPath представляет существующий файл или каталог на хост-машине, напрямую доступный контейнеру. Обычно используется для системных агентов или других привилегированных элементов, имеющих доступ к хост-машине. Большинству контейнеров это не нужно. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

    Представляет путь к файлу на хосте, отображаемый в под. Тома hostPath не поддерживают управление правами владения или перемаркировку SELinux.

    • hostPath.path (string), required

      Путь к каталогу на хосте. Если путь — символическая ссылка, она будет следовать по ссылке к реальному пути. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

    • hostPath.type (string)

      Тип для тома HostPath. По умолчанию — "" Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

Тома постоянного хранения

  • awsElasticBlockStore (AWSElasticBlockStoreVolumeSource)

    awsElasticBlockStore представляет ресурс диска AWS, который подключается к узлу kubelet и затем предоставляется под. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

    *Представляет собой ресурс постоянного диска в AWS.*

    Диск AWS EBS должен существовать до подключения к контейнеру. Диск также должен находиться в той же зоне AWS, что и kubelet. Диск AWS EBS может быть смонтирован в режиме чтения/записи только один раз. Объемы AWS EBS поддерживают управление правами владения и перемаркировку SELinux.*

    • awsElasticBlockStore.volumeID (string), обязательное поле

      volumeID — уникальный идентификатор ресурса постоянного диска в AWS (объём Amazon EBS). Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

    • awsElasticBlockStore.fsType (string)

      fsType — тип файловой системы тома, который вы хотите смонтировать. Совет: Убедитесь, что тип файловой системы поддерживается операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Неявно предполагается, что это "ext4", если не указано иное. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

    • awsElasticBlockStore.partition (int32)

      partition — раздел в томе, который вы хотите смонтировать. Если опущено, то монтирование происходит по имени тома. Примеры: Для тома /dev/sda1 вы указываете раздел как "1". Аналогично, раздел тома /dev/sda — это "0" (или вы можете оставить свойство пустым).

    • awsElasticBlockStore.readOnly (boolean)

      Значение readOnly, равное true, принудительно установит настройку readOnly в VolumeMounts. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

  • azureDisk (AzureDiskVolumeSource)

    azureDisk представляет собой подключение диска Azure Data к узлу и подключение по типу bind к под.

    AzureDisk представляет собой подключение диска Azure Data к узлу и подключение по типу bind к под.

    • azureDisk.diskName (string), обязательное поле

      diskName — имя диска данных в хранилище блобов

    • azureDisk.diskURI (string), обязательное поле

      diskURI — URI диска данных в хранилище блобов

    • azureDisk.cachingMode (string)

      cachingMode — режим кеширования на узле: None, Read Only, Read Write.

    • azureDisk.fsType (string)

      fsType — тип файловой системы для подключения. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Неявно предполагается, что это "ext4", если не указано иное.

    • azureDisk.kind (string)

      возможные значения kind: Shared: несколько дисков blob на один хранилище аккаунт Dedicated: один диск blob на один хранилище аккаунт Managed: управляемый диск данных Azure (только в управляемом наборе доступности). По умолчанию — shared

    • azureDisk.readOnly (boolean)

      readOnly По умолчанию false (чтение/запись). ReadOnly здесь принудительно установит настройку ReadOnly в VolumeMounts.

  • azureFile (AzureFileVolumeSource)

    azureFile представляет собой подключение к службе Azure File на хосте и bind-подключение к под.

    AzureFile представляет собой подключение к службе Azure File на хосте и bind-подключение к под.

    • azureFile.secretName (string), обязательное поле

      secretName — имя секрета, содержащего имя и ключ учетной записи Azure Storage

    • azureFile.shareName (string), обязательное поле

      shareName — имя общего ресурса Azure

    • azureFile.readOnly (boolean)

      readOnly По умолчанию false (чтение/запись). ReadOnly здесь принудительно установит настройку ReadOnly в VolumeMounts.

  • cephfs (CephFSVolumeSource)

    cephFS представляет собой подключение к Ceph FS на хосте, которое разделяет срок жизни под.

    Представляет собой подключение к Ceph Filesystem, которое длится всё время жизни под. Объемы Cephfs не поддерживают управление правами владения или перемаркировку SELinux.

    • cephfs.monitors ([]string), обязательное поле

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

      monitors — Требуется: Мониторы — это набор мониторов Ceph. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

    • cephfs.path (string)

      path — Необязательное: Используется в качестве смонтированного корня, а не всего дерева Ceph, по умолчанию — /

    • cephfs.readOnly (boolean)

      readOnly — Необязательное: По умолчанию false (чтение/запись). ReadOnly здесь принудительно установит настройку ReadOnly в VolumeMounts. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

    • cephfs.secretFile (string)

      secretFile — Необязательное: SecretFile — путь к кольцу ключей для пользователя, по умолчанию — /etc/ceph/user.secret. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

    • cephfs.secretRef (LocalObjectReference)

      secretRef — Необязательное: SecretRef — ссылка на секретный объект для аутентификации пользователя, по умолчанию — пустое. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

    • cephfs.user (string)

      user — необязательное: User — имя пользователя rados, по умолчанию — admin. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

  • cinder (CinderVolumeSource)

    cinder представляет собой подключенный и смонтированный том cinder на хосте kubelet. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md

    Представляет собой ресурс тома cinder в Openstack. Том Cinder должен существовать до подключения к контейнеру. Том также должен находиться в той же области, что и kubelet. Тома Cinder поддерживают управление правами владения и перемаркировку SELinux.

    • cinder.volumeID (string), обязательное поле

      volumeID используется для идентификации тома в cinder. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md

    • cinder.fsType (string)

      fsType — тип файловой системы для подключения. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Неявно предполагается, что это "ext4", если не указано иное. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md

    • cinder.readOnly (boolean)

      readOnly По умолчанию false (чтение/запись). ReadOnly здесь принудительно установит настройку ReadOnly в VolumeMounts. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md

    • cinder.secretRef (LocalObjectReference)

      secretRef — необязательное: указывает на объект секрета, содержащий параметры, используемые для подключения к OpenStack.

  • csi (CSIVolumeSource)

    csi (Container Storage Interface) представляет собой временное хранилище, которое обрабатывается определёнными внешними драйверами CSI (функция Beta).

    Представляет собой местоположение источника тома для подключения, управляемого внешним драйвером CSI

    • csi.driver (string), обязательное поле

      driver — имя драйвера CSI, который обрабатывает этот том. Обратитесь к администратору для получения правильного имени, зарегистрированного в кластере.

    • csi.fsType (string)

      fsType для подключения. Примеры: "ext4", "xfs", "ntfs". Если не указано, то пустое значение передаётся в соответствующий драйвер CSI, который определит по умолчанию файловую систему для применения.

    • csi.nodePublishSecretRef (LocalObjectReference)

      nodePublishSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию для передачи драйверу CSI для выполнения вызовов CSI NodePublishVolume и NodeUnpublishVolume. Это поле необязательно и может быть пустым, если секрет не требуется. Если объект секрета содержит более одного секрета, все ссылки на секреты передаются.

    • csi.readOnly (boolean)

      readOnly указывает конфигурацию только для чтения для тома. По умолчанию false (чтение/запись).

    • csi.volumeAttributes (map[string]string)

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

  • временный (EphemeralVolumeSource)

    временный представляет собой том, который обрабатывается драйвером кластерного хранилища. Жизненный цикл тома привязан к под, который его определяет — он будет создан перед запуском под и удален при удалении под.

    Используйте это, если: а) том необходим только во время работы под, б) необходимы функции обычных томов, такие как восстановление со снимка или отслеживание емкости, в) драйвер хранилища указан через класс хранилища, и г) драйвер хранилища поддерживает динамическое выделение тома через PersistentVolumeClaim (см. EphemeralVolumeSource для получения дополнительной информации о связи этого типа тома и PersistentVolumeClaim).

    Используйте PersistentVolumeClaim или одну из специфичных для поставщика API для томов, которые сохраняются дольше, чем жизненный цикл отдельной под.

    Используйте CSI для легких локальных временных томов, если драйвер CSI предназначен для использования таким образом — см. документацию драйвера для получения дополнительной информации.

    Под может использовать одновременно оба типа временных томов и постоянные тома.

    Представляет собой временный том, который обрабатывается обычным драйвером хранилища.

    • временный.volumeClaimTemplate (PersistentVolumeClaimTemplate)

      Будет использоваться для создания автономного PVC для выделения тома. Под, в которую вложена эта EphemeralVolumeSource, будет владельцем PVC, т. е. PVC будет удален вместе с под. Имя PVC будет \<pod name>-\<volume name>, где \<volume name> — имя из PodSpec.Volumes массива записей. Валидация под отклонит под, если объединенное имя не является допустимым для PVC (например, слишком длинное).

      Существующий PVC с этим именем, который не принадлежит под, не будет использоваться для под, чтобы избежать случайного использования не связанного тома. Запуск под заблокирован до тех пор, пока не будет удален не связанный PVC. Если такой предварительно созданный PVC должен использоваться под, PVC должен быть обновлен со ссылкой на владельца под после существования под. Обычно это не требуется, но может быть полезно при ручном восстановлении поврежденного кластера.

      Это поле является только для чтения, и Kubernetes не внесет никаких изменений в PVC после его создания.

      Обязательное поле, не должно быть пустым.

      PersistentVolumeClaimTemplate используется для создания объектов PersistentVolumeClaim в качестве части EphemeralVolumeSource.

      • временный.volumeClaimTemplate.spec (PersistentVolumeClaimSpec), обязательно

        Спецификация для PersistentVolumeClaim. Все содержимое без изменений копируется в PVC, созданный из этой шаблона. Здесь также допустимы те же поля, что и в PersistentVolumeClaim.

      • временный.volumeClaimTemplate.metadata (ObjectMeta)

        Может содержать метки и аннотации, которые будут скопированы в PVC при его создании. Другие поля не допускаются и будут отклонены во время проверки.

  • fc (FCVolumeSource)

    fc представляет собой ресурс Fibre Channel, который подключается к хост-машине kubelet и затем предоставляется под.

    Представляет собой том Fibre Channel. Тома Fibre Channel могут быть смонтированы только как один раз в режиме чтения/записи. Тома Fibre Channel поддерживают управление собственностью и перемаркировку SELinux.

    • fc.fsType (строка)

      fsType — тип файловой системы для монтирования. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Неявное значение — "ext4", если не указано.

    • fc.lun (int32)

      lun — необязательный: номер LUN целевого FC.

    • fc.readOnly (булево)

      readOnly — необязательный: по умолчанию false (чтение/запись). ReadOnly здесь принудительно задает значение ReadOnly в VolumeMounts.

    • fc.targetWWNs ([]строка)

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

      targetWWNs — необязательный: глобальные имена (WWN) целевого FC.

    • fc.wwids ([]строка)

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

      wwids — необязательный: глобальные идентификаторы тома FC (wwids). Должен быть задан либо wwids, либо сочетание targetWWNs и lun, но не оба одновременно.

  • flexVolume (FlexVolumeSource)

    flexVolume представляет собой универсальный ресурс тома, который выделяется/подключается с помощью плагина, основанного на выполнении.

    FlexVolume представляет собой универсальный ресурс тома, который выделяется/подключается с помощью плагина, основанного на выполнении.

    • flexVolume.driver (строка), обязательно

      driver — имя драйвера для использования с этим томом.

    • flexVolume.fsType (строка)

      fsType — тип файловой системы для монтирования. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Файловая система по умолчанию зависит от скрипта FlexVolume.

    • flexVolume.options (карта[строка]строка)

      options — необязательный: это поле содержит дополнительные параметры команд, если таковые имеются.

    • flexVolume.readOnly (булево)

      readOnly — необязательный: по умолчанию false (чтение/запись). ReadOnly здесь принудительно задает значение ReadOnly в VolumeMounts.

    • flexVolume.secretRef (LocalObjectReference)

      secretRef — необязательный: secretRef — ссылка на объект секрета, содержащий конфиденциальную информацию для передачи скриптам плагина. Может быть пустым, если объект секрета не указан. Если объект секрета содержит более одного секрета, все секреты передаются скриптам плагина.

  • flocker (FlockerVolumeSource)

    flocker представляет собой том Flocker, подключенный к хост-машине kubelet. Это зависит от того, запущен ли контрольный сервис Flocker.

    Представляет собой том Flocker, смонтированный агентом Flocker. Должно быть задано только одно из datasetName и datasetUUID. Тома Flocker не поддерживают управление собственностью или перемаркировку SELinux.

    • flocker.datasetName (строка)

      datasetName — имя набора данных, хранящегося в метаданных -> имя набора данных для Flocker следует считать устаревшим.

    • flocker.datasetUUID (строка)

      datasetUUID — UUID набора данных. Это уникальный идентификатор набора данных Flocker.

  • gcePersistentDisk (GCEPersistentDiskVolumeSource)

    gcePersistentDisk представляет собой ресурс диска GCE, который подключается к хост-машине kubelet и затем предоставляется под. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

    *Представляет собой ресурс постоянного диска в Google Compute Engine.

    GCE PD должен существовать перед монтированием в контейнер. Диск также должен находиться в том же проекте и зоне GCE, что и kubelet. GCE PD может быть смонтирован только один раз в режиме чтения/записи или многократно в режиме только чтения. GCE PD поддерживают управление собственностью и перемаркировку SELinux.*

    • gcePersistentDisk.pdName (строка), обязательно

      pdName — уникальное имя ресурса PD в GCE. Используется для идентификации диска в GCE. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

    • gcePersistentDisk.fsType (строка)

      fsType — тип файловой системы тома, который вы хотите смонтировать. Совет: убедитесь, что тип файловой системы поддерживается операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Неявное значение — "ext4", если не указано. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

    • gcePersistentDisk.partition (int32)

      partition — раздел в томе, который вы хотите смонтировать. Если опущено, по умолчанию монтируется по имени тома. Примеры: для тома /dev/sda1 вы указываете раздел как "1". Аналогично, раздел тома для /dev/sda — "0" (или вы можете оставить свойство пустым). Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

    • gcePersistentDisk.readOnly (булево)

      readOnly здесь принудительно задает значение ReadOnly в VolumeMounts. По умолчанию false. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

  • glusterfs (GlusterfsVolumeSource)

    glusterfs представляет собой монтирование Glusterfs на хосте, которое совмещает жизненный цикл под. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md

    Представляет собой монтирование Glusterfs, которое длится до конца жизненного цикла под. Тома Glusterfs не поддерживают управление собственностью или перемаркировку SELinux.

    • glusterfs.endpoints (строка), обязательно

      endpoints — имя конечной точки, которое описывает топологию Glusterfs. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

    • glusterfs.path (строка), обязательно

      path — путь тома Glusterfs. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

    • glusterfs.readOnly (булево)

      readOnly здесь принудительно устанавливает для тома Glusterfs права монтирования только для чтения. По умолчанию false. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

  • iscsi (ISCSIVolumeSource)

    iscsi представляет собой ресурс диска ISCSI, который подключен к хост-машине kubelet и затем доступен для под. Дополнительная информация: https://examples.k8s.io/volumes/iscsi/README.md

    Представляет диск ISCSI. Тома ISCSI могут быть смонтированы только как чтение/запись один раз. Тома ISCSI поддерживают управление правами владения и перемаркировку SELinux.

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

      iqn — это квалифицированное имя целевого iSCSI.

    • iscsi.lun (int32), необходимо

      lun представляет собой номер целевого LUN iSCSI.

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

      targetPortal — это целевой портал iSCSI. Портал — это либо IP-адрес, либо ip_addr:port, если порт отличается от стандартного (обычно TCP-порты 860 и 3260).

    • iscsi.chapAuthDiscovery (логическое значение)

      chapAuthDiscovery определяет, поддерживает ли обнаружение CHAP аутентификацию iSCSI.

    • iscsi.chapAuthSession (логическое значение)

      chapAuthSession определяет, поддерживает ли сессионная аутентификация CHAP сеансы iSCSI.

    • iscsi.fsType (строка)

      fsType — это тип файловой системы тома, который вы хотите смонтировать. Совет: убедитесь, что тип файловой системы поддерживается операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". По умолчанию предполагается "ext4", если не указано иное. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#iscsi

    • iscsi.initiatorName (строка)

      initiatorName — это пользовательское имя инициатора iSCSI. Если initiatorName указан вместе с iscsiInterface, будет создан новый интерфейс iSCSI <target portal>:<имя тома> для подключения.

    • iscsi.iscsiInterface (строка)

      iscsiInterface — это имя интерфейса, использующего транспорт iSCSI. По умолчанию 'default' (tcp).

    • iscsi.portals ([]string)

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

      portals — это список целевых порталов iSCSI. Портал — это либо IP-адрес, либо ip_addr:port, если порт отличается от стандартного (обычно TCP-порты 860 и 3260).

    • iscsi.readOnly (логическое значение)

      readOnly здесь принудительно задаст значение ReadOnly в VolumeMounts. По умолчанию false.

    • iscsi.secretRef (LocalObjectReference)

      secretRef — это секрет CHAP для аутентификации целевого iSCSI и инициатора.

  • image (ImageVolumeSource)

    image представляет собой объект OCI (контейнерный образ или артефакт), извлеченный и смонтированный на хост-машину kubelet. Тома разрешаются при запуске под в зависимости от значения PullPolicy:

    • Always: kubelet всегда пытается извлечь ссылку. Создание контейнера завершится ошибкой, если извлечение не удастся. - Never: kubelet никогда не извлекает ссылку и использует только локальный образ или артефакт. Создание контейнера завершится ошибкой, если ссылка отсутствует. - IfNotPresent: kubelet извлекает, если ссылка еще не присутствует на диске. Создание контейнера завершится ошибкой, если ссылка отсутствует и извлечение не удастся.

    Том повторно разрешается, если под удаляется и создается заново, что означает, что новый удаленный контент станет доступным при повторном создании под. Невозможность разрешения или извлечения образа во время запуска под заблокирует запуск контейнеров и может добавить значительную задержку. Ошибки будут повторно пытаться устранить с помощью обычной задержки тома и будут сообщены в причинах и сообщениях под. Типы объектов, которые могут быть смонтированы этим томом, определяются реализацией контейнерного времени выполнения на хост-машине и, как минимум, должны включать все допустимые типы, поддерживаемые полем контейнерного образа. Объект OCI монтируется в одном каталоге (spec.containers[].volumeMounts.mountPath), объединяя слои манифеста аналогично контейнерным образам. Том будет смонтирован в режиме только для чтения (ro) и неисполняемые файлы (noexec). Подмонтирование подпутей для контейнеров не поддерживается (spec.containers[].volumeMounts.subpath). Поле spec.securityContext.fsGroupChangePolicy не оказывает влияния на этот тип тома.

    ImageVolumeSource представляет собой ресурс тома образа.

    • image.pullPolicy (строка)

      Политика извлечения объектов OCI. Возможные значения: Always: kubelet всегда пытается извлечь ссылку. Создание контейнера завершится ошибкой, если извлечение не удастся. Never: kubelet никогда не извлекает ссылку и использует только локальный образ или артефакт. Создание контейнера завершится ошибкой, если ссылка отсутствует. IfNotPresent: kubelet извлекает, если ссылка еще не присутствует на диске. Создание контейнера завершится ошибкой, если ссылка отсутствует и извлечение не удастся. По умолчанию Always, если указана метка :latest, или IfNotPresent в противном случае.

    • image.reference (строка)

      Обязательно: ссылка на образ или артефакт для использования. Ведет себя так же, как pod.spec.containers[*].image. Секреты извлечения будут собраны так же, как и для контейнерного образа, путем поиска учетных данных узла, секретов извлечения образов SA и секретов извлечения образов спецификации под. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/images Это поле необязательно, чтобы уровень конфигурации высокого уровня мог установить значение по умолчанию или переопределить контейнерные образы в контроллерах рабочих нагрузок, таких как Deployments и StatefulSets.

  • nfs (NFSVolumeSource)

    nfs представляет собой монтирование NFS на хосте, которое совместно используется с под на протяжении его существования. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs

    Представляет монтирование NFS, которое существует в течение всего срока службы под. Тома NFS не поддерживают управление правами владения или перемаркировку SELinux.

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

      путь, экспортированный сервером NFS. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs

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

      server — это имя хоста или IP-адрес сервера NFS. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs

    • nfs.readOnly (логическое значение)

      readOnly здесь принудительно задаст NFS-экспорт для монтирования с правами только для чтения. По умолчанию false. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs

  • photonPersistentDisk (PhotonPersistentDiskVolumeSource)

    photonPersistentDisk представляет собой постоянный диск PhotonController, подключенный и смонтированный на хост-машину kubelet.

    Представляет собой ресурс постоянного диска Photon Controller.

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

      pdID — это идентификатор, который идентифицирует постоянный диск Photon Controller.

    • photonPersistentDisk.fsType (строка)

      fsType — это тип файловой системы для монтирования. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". По умолчанию предполагается "ext4", если не указано иное.

  • portworxVolume (PortworxVolumeSource)

    portworxVolume представляет собой том Portworx, подключенный и смонтированный на хост-машину kubelet.

    PortworxVolumeSource представляет собой ресурс тома Portworx.

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

      volumeID однозначно идентифицирует том Portworx.

    • portworxVolume.fsType (строка)

      fSType представляет собой тип файловой системы для монтирования. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Примеры: "ext4", "xfs". По умолчанию предполагается "ext4", если не указано иное.

    • portworxVolume.readOnly (логическое значение)

      readOnly по умолчанию false (чтение/запись). ReadOnly здесь принудительно задаст значение ReadOnly в VolumeMounts.

  • quobyte (QuobyteVolumeSource)

    quobyte представляет собой монтирование Quobyte на хосте, которое совместно используется с под на протяжении его существования.

    Представляет монтирование Quobyte, которое существует в течение всего срока службы под. Тома Quobyte не поддерживают управление правами владения или перемаркировку SELinux.

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

      registry представляет собой один или несколько сервисов реестра Quobyte, указанных как пара хост:порт (несколько записей разделены запятыми), которые выступают в качестве центрального реестра для томов.

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

      volume — это строка, которая ссылается на уже созданный том Quobyte по имени.

    • quobyte.group (строка)

      группа для сопоставления доступа к томам. По умолчанию — без группы.

    • quobyte.readOnly (логическое значение)

      readOnly здесь принудительно задаст том Quobyte для монтирования с правами только для чтения. По умолчанию false.

    • quobyte.tenant (строка)

      арендатор, владеющий заданным томом Quobyte в бэкенде. Используется с динамически выделяемыми томами Quobyte, значение устанавливается плагином.

    • quobyte.user (строка)

      пользователь для сопоставления доступа к томам. По умолчанию — пользователь service account.

  • rbd (RBDVolumeSource)

    rbd представляет собой подключение устройства Rados Block Device к хосту, которое совместно используется в рамках жизненного цикла под. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md

    Представляет собой подключение устройства Rados Block Device, которое существует в течение жизненного цикла под. Объекты RBD поддерживают управление правами собственности и перемаркировку SELinux.

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

      image — это имя изображения rados. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.monitors ([]строка), необходимо

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

      monitors — это набор Ceph-мониторов. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.fsType (строка)

      fsType — это тип файловой системы тома, который требуется подключить. Совет: Убедитесь, что тип файловой системы поддерживается операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". По умолчанию предполагается "ext4", если не указано иное. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#rbd

    • rbd.keyring (строка)

      keyring — это путь к файлу ключей для RBDUser. По умолчанию — /etc/ceph/keyring. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.pool (строка)

      pool — это имя пула rados. По умолчанию — rbd. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.readOnly (булево значение)

      readOnly здесь принудительно устанавливает значение ReadOnly в VolumeMounts. По умолчанию — false. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.secretRef (LocalObjectReference)

      secretRef — имя секрета аутентификации для RBDUser. Если указано, переопределяет keyring. По умолчанию — null. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

    • rbd.user (строка)

      user — имя пользователя rados. По умолчанию — admin. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

  • scaleIO (ScaleIOVolumeSource)

    scaleIO представляет собой постоянный объем ScaleIO, подключенный и смонтированный на узлах Kubernetes.

    ScaleIOVolumeSource представляет собой постоянный объем ScaleIO

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

      gateway — адрес хоста шлюза API ScaleIO.

    • scaleIO.secretRef (LocalObjectReference), необходимо

      secretRef ссылается на секрет для пользователя ScaleIO и других конфиденциальных данных. Если это не указано, операция входа в систему завершится ошибкой.

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

      system — имя системы хранения, как оно настроено в ScaleIO.

    • scaleIO.fsType (строка)

      fsType — тип файловой системы для подключения. Должен быть типом файловой системы, поддерживаемой операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". По умолчанию — "xfs".

    • scaleIO.protectionDomain (строка)

      protectionDomain — имя домена защиты ScaleIO для настроенного хранилища.

    • scaleIO.readOnly (булево значение)

      readOnly По умолчанию — false (чтение/запись). ReadOnly здесь принудительно устанавливает значение ReadOnly в VolumeMounts.

    • scaleIO.sslEnabled (булево значение)

      sslEnabled Флаг включения/отключения SSL-соединения со шлюзом, по умолчанию — false

    • scaleIO.storageMode (строка)

      storageMode указывает, следует ли хранить данные тома ThickProvisioned или ThinProvisioned. По умолчанию — ThinProvisioned.

    • scaleIO.storagePool (строка)

      storagePool — пул хранилища ScaleIO, связанный с домена защиты.

    • scaleIO.volumeName (строка)

      volumeName — имя тома, уже созданного в системе ScaleIO, связанного с этим источником тома.

Устаревшее

  • gitRepo (GitRepoVolumeSource)

    gitRepo представляет собой git-репозиторий в определенной ревизии. УСТАРЕВШЕЕ: GitRepo устарело. Для подготовки контейнера с git-репозиторием, подключите EmptyDir к InitContainer, который клонирует репозиторий с помощью git, а затем подключите EmptyDir к контейнеру под.

    *Представляет собой том, заполненный содержимым git-репозитория. Тома git-репозитория не поддерживают управление правами собственности. Тома git-репозитория поддерживают перемаркировку SELinux.

    УСТАРЕВШЕЕ: GitRepo устарело. Для подготовки контейнера с git-репозиторием, подключите EmptyDir к InitContainer, который клонирует репозиторий с помощью git, а затем подключите EmptyDir к контейнеру под.*

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

      repository — URL

    • gitRepo.directory (строка)

      directory — имя целевой директории. Не должно содержать или начинаться с '..'. Если указано '.', директория тома будет git-репозиторием. В противном случае, если указано, том будет содержать git-репозиторий в поддиректории с заданным именем.

    • gitRepo.revision (строка)

      revision — хеш коммита для указанной ревизии.

Том DownwardAPI

DownwardAPIVolumeFile представляет информацию для создания файла, содержащего поле pod

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

    Необходимо: Path — относительное имя файла, который будет создан. Не должно быть абсолютным или содержать '..'. Должен быть закодирован в utf-8. Первый элемент относительного пути не должен начинаться с '..'

  • fieldRef (ObjectFieldSelector)

    Необходимо: Выбирает поле pod: поддерживаются только аннотации, метки, имя, пространство имен и uid.

  • mode (int32)

    Необязательно: биты режима, используемые для установки разрешений на этот файл, должны быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает восьмеричные и десятичные значения, JSON требует десятичных значений для битов режима. Если не указано, будет использоваться значение volume defaultMode. Это может противоречить другим параметрам, влияющим на режим файла, например fsGroup, и в результате могут быть установлены другие биты режима.

  • resourceFieldRef (ResourceFieldSelector)

    Выбирает ресурс контейнера: в настоящее время поддерживаются только ресурсы limits и requests (limits.cpu, limits.memory, requests.cpu и requests.memory).

Ключ к пути

Сопоставляет строковый ключ с путем в томе.

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

    key — ключ для обработки.

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

    path — относительный путь к файлу для сопоставления ключа. Не должен быть абсолютным путем. Не должен содержать элемент пути '..'. Не должен начинаться со строки '..'.

  • mode (int32)

    mode — Необязательно: биты режима, используемые для установки разрешений на этот файл. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает восьмеричные и десятичные значения, JSON требует десятичных значений для битов режима. Если не указано, будет использоваться значение volume defaultMode. Это может противоречить другим параметрам, влияющим на режим файла, например fsGroup, и в результате могут быть установлены другие биты режима.

© 2024 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2024 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/volume/

Spec-Zone.ru

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