Spec-Zone.ru › Kubernetes

PersistentVolume

PersistentVolume (PV) — это ресурс хранилища, предоставленный администратором. Он аналогичен узлу. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes
Документация по концепции PersistentVolume
  • Постоянные тома
    1. Введение
    2. Жизненный цикл тома и запроса
    3. Типы постоянных томов
    4. Постоянные тома
    5. Запросы PersistentVolumeClaims
    6. Запросы в качестве томов
    7. Поддержка томов в формате raw block
    8. Поддержка снимков томов и восстановления томов из снимков
    9. Клонирование томов
    10. Заполнители томов и источники данных
    11. Создание переносимой конфигурации
    12. Что дальше

apiVersion: v1

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

PersistentVolume

PersistentVolume (PV) — это ресурс хранилища, предоставленный администратором. Он аналогичен узлу. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В формате CamelCase. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартные метаданные объекта. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec
PersistentVolumeSpec
spec определяет спецификацию постоянного тома, принадлежащего кластеру. Предоставляется администратором. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes
status
PersistentVolumeStatus
status содержит текущую информацию о состоянии постоянного тома. Заполняется системой. Только для чтения. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes

PersistentVolumeSpec

PersistentVolumeSpec — спецификация постоянного тома.

Поле Описание
accessModes
string array
accessModes содержит все способы монтирования тома. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
awsElasticBlockStore
AWSElasticBlockStoreVolumeSource
awsElasticBlockStore представляет ресурс AWS Disk, подключенный к хостовой машине kubelet и затем предоставленный поду. Устарело: AWSElasticBlockStore считается устаревшим. Все операции для встроенного типа awsElasticBlockStore перенаправляются драйверу CSI ebs.csi.aws.com. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
azureDisk
AzureDiskVolumeSource
azureDisk представляет подключение Azure Data Disk на хосте и bind-монтирование в под. Устарело: AzureDisk считается устаревшим. Все операции для встроенного типа azureDisk перенаправляются драйверу CSI disk.csi.azure.com.
azureFile
AzureFilePersistentVolumeSource
azureFile представляет подключение Azure File Service на хосте и bind-монтирование в под. Устарело: AzureFile считается устаревшим. Все операции для встроенного типа azureFile перенаправляются драйверу CSI file.csi.azure.com.
capacity
object
capacity описывает ресурсы и ёмкость постоянного тома. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
cephfs
CephFSPersistentVolumeSource
cephFS представляет подключение Ceph FS на хосте, срок жизни которого совпадает со сроком жизни пода. Устарело: CephFS считается устаревшим, а встроенный тип cephfs больше не поддерживается.
cinder
CinderPersistentVolumeSource
cinder представляет том Cinder, подключённый и смонтированный на хостовой машине kubelet. Устарело: Cinder считается устаревшим. Все операции для встроенного типа cinder перенаправляются драйверу CSI cinder.csi.openstack.org. Дополнительные сведения: https://examples.k8s.io/mysql-cinder-pd/README.md
claimRef
ObjectReference
claimRef — часть двунаправленной связи между PersistentVolume и PersistentVolumeClaim. При привязке ожидается ненулевое значение. claim.VolumeName является авторитетной привязкой между PV и PVC. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding
csi
CSIPersistentVolumeSource
csi представляет хранилище, обслуживаемое внешним драйвером CSI.
fc
FCVolumeSource
fc представляет ресурс Fibre Channel, подключенный к хостовой машине kubelet и затем предоставленный поду.
flexVolume
FlexPersistentVolumeSource
flexVolume представляет универсальный ресурс тома, предоставляемый или подключаемый с помощью плагина на основе exec. Устарело: FlexVolume считается устаревшим. Вместо него рекомендуется использовать CSIDriver.
flocker
FlockerVolumeSource
flocker представляет том Flocker, подключенный к хостовой машине kubelet и предоставленный поду для использования. Для этого требуется работающая управляющая служба Flocker. Устарело: Flocker считается устаревшим, а встроенный тип flocker больше не поддерживается.
gcePersistentDisk
GCEPersistentDiskVolumeSource
gcePersistentDisk представляет ресурс GCE Disk, подключенный к хостовой машине kubelet и затем предоставленный поду. Предоставляется администратором. Устарело: GCEPersistentDisk считается устаревшим. Все операции для встроенного типа gcePersistentDisk перенаправляются драйверу CSI pd.csi.storage.gke.io. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
glusterfs
GlusterfsPersistentVolumeSource
glusterfs представляет том Glusterfs, подключенный к хосту и предоставленный поду. Предоставляется администратором. Устарело: Glusterfs считается устаревшим, а встроенный тип glusterfs больше не поддерживается. Дополнительные сведения: https://examples.k8s.io/volumes/glusterfs/README.md
hostPath
HostPathVolumeSource
hostPath представляет каталог на хосте. Предоставляется разработчиком или тестировщиком. Этот вариант подходит только для разработки и тестирования на одном узле! Хранилище на хосте никак не поддерживается и НЕ БУДЕТ РАБОТАТЬ в мног узловом кластере. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
iscsi
ISCSIPersistentVolumeSource
iscsi представляет ресурс ISCSI Disk, подключенный к хостовой машине kubelet и затем предоставленный поду. Предоставляется администратором.
local
LocalVolumeSource
local представляет непосредственно подключённое хранилище с привязкой к узлу
mountOptions
string array
mountOptions — список параметров монтирования, например ["ro", "soft"]. Проверка не выполняется: если параметр недопустим, монтирование просто завершится ошибкой. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options
nfs
NFSVolumeSource
nfs представляет подключение NFS на хосте. Предоставляется администратором. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#nfs
nodeAffinity
VolumeNodeAffinity
nodeAffinity определяет ограничения, указывающие, с каких узлов доступен этот том. Это поле влияет на планирование подов, использующих этот том. Поле можно изменять, если включён функциональный переключатель MutablePVNodeAffinity.
persistentVolumeReclaimPolicy
string
persistentVolumeReclaimPolicy определяет, что происходит с постоянным томом после освобождения его запроса. Допустимые значения: Retain (по умолчанию для созданных вручную PersistentVolume), Delete (по умолчанию для динамически предоставленных PersistentVolume) и Recycle (устарело). Recycle должен поддерживаться плагином тома, лежащим в основе этого PersistentVolume. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming

Возможные значения перечисления:
- `"Delete"` означает, что после освобождения запроса том будет удалён из Kubernetes. Плагин тома должен поддерживать удаление.
- `"Recycle"` означает, что после освобождения запроса том будет возвращён в пул непривязанных постоянных томов. Плагин тома должен поддерживать переработку.
- `"Retain"` означает, что том останется в текущей фазе (Released) для ручного возврата в использование администратором. Политика по умолчанию — Retain.
photonPersistentDisk
PhotonPersistentDiskVolumeSource
photonPersistentDisk представляет постоянный диск PhotonController, подключённый и смонтированный на хостовой машине kubelet. Устарело: PhotonPersistentDisk считается устаревшим, а встроенный тип photonPersistentDisk больше не поддерживается.
portworxVolume
PortworxVolumeSource
portworxVolume представляет том Portworx, подключённый и смонтированный на хостовой машине kubelet. Устарело: PortworxVolume считается устаревшим. Все операции для встроенного типа portworxVolume перенаправляются драйверу CSI pxd.portworx.com.
quobyte
QuobyteVolumeSource
quobyte представляет подключение Quobyte на хосте, срок жизни которого совпадает со сроком жизни пода. Устарело: Quobyte считается устаревшим, а встроенный тип quobyte больше не поддерживается.
rbd
RBDPersistentVolumeSource
rbd представляет подключение Rados Block Device на хосте, срок жизни которого совпадает со сроком жизни пода. Устарело: RBD считается устаревшим, а встроенный тип rbd больше не поддерживается. Дополнительные сведения: https://examples.k8s.io/volumes/rbd/README.md
scaleIO
ScaleIOPersistentVolumeSource
scaleIO представляет постоянный том ScaleIO, подключённый и смонтированный на узлах Kubernetes. Устарело: ScaleIO считается устаревшим, а встроенный тип scaleIO больше не поддерживается.
storageClassName
string
storageClassName — имя StorageClass, к которому относится этот постоянный том. Пустое значение означает, что том не относится ни к одному StorageClass.
storageos
StorageOSPersistentVolumeSource
storageOS представляет том StorageOS, подключённый к хостовой машине kubelet и смонтированный в под. Устарело: StorageOS считается устаревшим, а встроенный тип storageos больше не поддерживается. Дополнительные сведения: https://examples.k8s.io/volumes/storageos/README.md
volumeAttributesClassName
string
Имя VolumeAttributesClass, к которому относится этот постоянный том. Пустое значение не допускается. Если поле не задано, это означает, что том не относится ни к одному VolumeAttributesClass. Это поле можно изменять; драйвер CSI может изменить его после успешного обновления тома до нового класса. При привязке непривязанный PersistentVolume будет сопоставлен с непривязанными PersistentVolumeClaims по значению volumeAttributesClassName.
volumeMode
string
volumeMode определяет, предназначен ли том для использования с файловой системой или должен оставаться в состоянии raw block. Если параметр не указан в spec, подразумевается значение Filesystem.

Возможные значения перечисления:
- `"Block"` означает, что том не будет отформатирован файловой системой и останется необработанным блочным устройством.
- `"Filesystem"` означает, что том будет или уже отформатирован файловой системой.
vsphereVolume
VsphereVirtualDiskVolumeSource
vsphereVolume представляет том vSphere, подключённый и смонтированный на хостовой машине kubelet. Устарело: VsphereVolume считается устаревшим. Все операции для встроенного типа vsphereVolume перенаправляются драйверу CSI csi.vsphere.vmware.com.

PersistentVolumeStatus

PersistentVolumeStatus — текущее состояние постоянного тома.

Поле Описание
lastPhaseTransitionTime
Time
lastPhaseTransitionTime — время перехода фазы из одного состояния в другое; при каждом переходе фазы тома значение автоматически сбрасывается на текущее время.
message
string
message — понятное пользователю сообщение с подробностями о причине текущего состояния тома.
phase
string
phase указывает, доступен ли том, привязан ли он к запросу или освобождён запросом. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase

Возможные значения перечисления:
- `"Available"` используется для PersistentVolume, которые ещё не привязаны. Доступные тома удерживаются компонентом привязки и сопоставляются с PersistentVolumeClaims
- `"Bound"` используется для PersistentVolume, привязанных к запросам
- `"Failed"` используется для PersistentVolume, которые не удалось корректно переработать или удалить после освобождения запросом
- `"Pending"` используется для PersistentVolume, которые недоступны
- `"Released"` используется для PersistentVolume, у которых был удалён связанный PersistentVolumeClaim. Освобождённые тома необходимо переработать, прежде чем они снова станут доступны. Эта фаза используется компонентом привязки постоянных томов, чтобы сообщить другому процессу о необходимости вернуть ресурс в использование
reason
string
reason — краткая строка в формате CamelCase, описывающая причину сбоя; она предназначена для машинного разбора и удобного отображения в CLI.

PersistentVolumeList

PersistentVolumeList — список элементов PersistentVolume.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
Массив PersistentVolume
items — список постоянных томов. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/persistent-volumes
kind
string
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В формате CamelCase. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартные метаданные списка. Дополнительные сведения: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

AWSElasticBlockStoreVolumeSource

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

Диск AWS EBS должен существовать до его монтирования в контейнер. Диск также должен находиться в той же зоне AWS, что и kubelet. Диск AWS EBS можно смонтировать для чтения и записи только один раз. Тома AWS EBS поддерживают управление владельцами и перемаркировку SELinux.

Поле Описание
fsType
string
fsType — тип файловой системы тома, который требуется смонтировать. Совет: убедитесь, что этот тип файловой системы поддерживается операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Если значение не указано, неявно используется "ext4". Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
partition
integer
partition — раздел тома, который требуется смонтировать. Если значение не указано, по умолчанию монтирование выполняется по имени тома. Примеры: для тома /dev/sda1 укажите раздел "1". Аналогично, раздел тома /dev/sda — это "0" (или свойство можно оставить пустым).
readOnly
boolean
Если значение readOnly равно true, параметр readOnly в VolumeMounts будет принудительно включён. Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
volumeID *
string
volumeID — уникальный идентификатор ресурса постоянного диска в AWS (тома Amazon EBS). Дополнительные сведения: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

AzureDiskVolumeSource

AzureDisk представляет подключение Azure Data Disk на хосте и bind-монтирование в под.

Поле Описание
cachingMode
string
cachingMode — режим кэширования на хосте: None, Read Only, Read Write.

Возможные значения перечисления:
- `"None"`
- `"ReadOnly"`
- `"ReadWrite"`
diskName *
string
diskName — имя диска данных в хранилище больших двоичных объектов
diskURI *
string
diskURI — URI диска данных в хранилище больших двоичных объектов
fsType
string
fsType — тип монтируемой файловой системы. Должен поддерживаться операционной системой хоста. Например: "ext4", "xfs", "ntfs". Если значение не указано, неявно используется "ext4".
kind
string
Допустимые значения kind: Shared — несколько дисков blob на одну учётную запись хранения; Dedicated — один диск blob на учётную запись хранения; Managed — управляемый диск данных Azure (только в управляемом наборе доступности). По умолчанию используется shared.

Возможные значения перечисления:
- `"Dedicated"`
- `"Managed"`
- `"Shared"`
readOnly
boolean
readOnly По умолчанию — false (чтение и запись). Значение ReadOnly здесь принудительно включает параметр ReadOnly в VolumeMounts.

AzureFilePersistentVolumeSource

AzureFile представляет подключение Azure File Service на хосте и bind-монтирование в под.

Поле Описание
readOnly
boolean
readOnly по умолчанию равно false (чтение и запись). Значение ReadOnly здесь принудительно включает параметр ReadOnly в VolumeMounts.
secretName *
string
secretName — имя секрета, содержащего имя и ключ учётной записи Azure Storage
secretNamespace
string
secretNamespace — пространство имён секрета, содержащего имя и ключ учётной записи Azure Storage; по умолчанию совпадает с пространством имён пода
shareName *
string
shareName — имя общей папки Azure

CSIPersistentVolumeSource

Представляет хранилище, управляемое внешним драйвером томов CSI

Поле Описание
controllerExpandSecretRef
SecretReference
controllerExpandSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию, передаваемую драйверу CSI для выполнения вызова CSI ControllerExpandVolume. Это поле необязательное и может быть пустым, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются все.
controllerPublishSecretRef
SecretReference
controllerPublishSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию, передаваемую драйверу CSI для выполнения вызовов CSI ControllerPublishVolume и ControllerUnpublishVolume. Это поле необязательное и может быть пустым, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются все.
driver *
string
driver — имя драйвера, используемого для этого тома. Обязательное поле.
fsType
string
fsType — тип монтируемой файловой системы. Должен поддерживаться операционной системой хоста. Например: "ext4", "xfs", "ntfs".
nodeExpandSecretRef
SecretReference
nodeExpandSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию, передаваемую драйверу CSI для выполнения вызова CSI NodeExpandVolume. Это поле необязательное и может быть опущено, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются все.
nodePublishSecretRef
SecretReference
nodePublishSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию, передаваемую драйверу CSI для выполнения вызовов CSI NodePublishVolume и NodeUnpublishVolume. Это поле необязательное и может быть пустым, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются все.
nodeStageSecretRef
SecretReference
nodeStageSecretRef — ссылка на объект секрета, содержащий конфиденциальную информацию, передаваемую драйверу CSI для выполнения вызовов CSI NodeStageVolume, NodeStageVolume и NodeUnstageVolume. Это поле необязательное и может быть пустым, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются все.
readOnly
boolean
Значение readOnly передаётся в ControllerPublishVolumeRequest. По умолчанию — false (чтение и запись).
volumeAttributes
object
volumeAttributes тома, который требуется опубликовать.
volumeHandle *
string
volumeHandle — уникальное имя тома, возвращаемое плагином томов CSI при вызове CreateVolume и используемое для ссылки на том во всех последующих вызовах. Обязательное поле.

CephFSPersistentVolumeSource

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

Поле Описание
monitors *
string array
monitors — обязательное поле: список мониторов Ceph. Дополнительные сведения: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
path
string
path — необязательное поле: используется как корень монтирования вместо всего дерева Ceph; значение по умолчанию — /
readOnly
boolean
readOnly — необязательное поле: по умолчанию false (чтение и запись). Значение ReadOnly здесь принудительно включает параметр ReadOnly в VolumeMounts. Дополнительные сведения: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
secretFile
string
secretFile — необязательное поле: SecretFile — путь к связке ключей пользователя; по умолчанию /etc/ceph/user.secret. Дополнительные сведения: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
secretRef
SecretReference
secretRef — необязательное поле: SecretRef — ссылка на секрет аутентификации пользователя; по умолчанию пустое значение. Дополнительные сведения: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
user
string
user — необязательное поле: User — имя пользователя rados; по умолчанию admin. Дополнительные сведения: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

CinderPersistentVolumeSource

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

Поле Описание
fsType
string
fsType — тип монтируемой файловой системы. Должен поддерживаться операционной системой хоста. Примеры: "ext4", "xfs", "ntfs". Если значение не указано, неявно используется "ext4". Дополнительные сведения: https://examples.k8s.io/mysql-cinder-pd/README.md
readOnly
boolean
readOnly — необязательное поле: по умолчанию false (чтение и запись). Значение ReadOnly здесь принудительно включает параметр ReadOnly в VolumeMounts. Дополнительные сведения: https://examples.k8s.io/mysql-cinder-pd/README.md
secretRef
SecretReference
secretRef — необязательное поле: ссылка на объект секрета, содержащий параметры подключения к OpenStack.
volumeID *
string
volumeID используется для идентификации тома в Cinder. Дополнительные сведения: https://examples.k8s.io/mysql-cinder-pd/README.md

FCVolumeSource

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

Поле Описание
fsType
string
fsType — тип монтируемой файловой системы. Должен поддерживаться операционной системой хоста. Например: "ext4", "xfs", "ntfs". Если значение не указано, неявно используется "ext4".
lun
integer
lun — необязательное поле: номер LUN целевого устройства FC
readOnly
boolean
readOnly — необязательное поле: по умолчанию false (чтение и запись). Значение ReadOnly здесь принудительно включает параметр ReadOnly в VolumeMounts.
targetWWNs
string array
targetWWNs — необязательное поле: всемирные имена целевых устройств FC (WWN)
wwids
string array
wwids — необязательное поле: всемирные идентификаторы тома FC (WWID). Необходимо задать либо wwids, либо комбинацию targetWWNs и lun, но не оба варианта одновременно.

FlexPersistentVolumeSource

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

Поле Описание
driver *
string
driver — имя драйвера, используемого для этого тома.
fsType
string
fsType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". Файловая система по умолчанию зависит от скрипта FlexVolume.
options
object
options — необязательное поле: содержит дополнительные параметры команды, если они есть.
readOnly
boolean
readOnly — необязательное поле: по умолчанию false (чтение/запись). Значение ReadOnly здесь принудительно устанавливает параметр ReadOnly в VolumeMounts.
secretRef
SecretReference
secretRef — необязательное поле: SecretRef — ссылка на объект secret, содержащий конфиденциальные данные для передачи скриптам плагина. Может быть пустым, если объект secret не указан. Если объект secret содержит несколько секретов, все они передаются скриптам плагина.

FlockerVolumeSource

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

Поле Описание
datasetName
string
datasetName — имя набора данных, хранящееся в метаданных -> name. Для набора данных Flocker это поле следует считать устаревшим.
datasetUUID
string
datasetUUID — UUID набора данных. Это уникальный идентификатор набора данных Flocker.

GCEPersistentDiskVolumeSource

Представляет ресурс Persistent Disk в Google Compute Engine.

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

Поле Описание
fsType
string
fsType — тип файловой системы тома, который требуется смонтировать. Совет: убедитесь, что тип файловой системы поддерживается операционной системой узла. Примеры: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
partition
integer
partition — раздел тома, который требуется смонтировать. Если не указано, по умолчанию монтируется том по его имени. Примеры: для тома /dev/sda1 укажите раздел "1". Аналогично, раздел тома /dev/sda — "0" (или это свойство можно оставить пустым). Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
pdName *
string
pdName — уникальное имя ресурса PD в GCE. Используется для идентификации диска в GCE. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
readOnly
boolean
readOnly — значение этого поля принудительно устанавливает параметр ReadOnly в VolumeMounts. По умолчанию false. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

GlusterfsPersistentVolumeSource

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

Поле Описание
endpoints *
string
endpoints — имя конечной точки, описывающей топологию Glusterfs. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
endpointsNamespace
string
endpointsNamespace — пространство имён, содержащее конечную точку Glusterfs. Если это поле пустое, по умолчанию EndpointNamespace совпадает с пространством имён привязанного PVC. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
path *
string
path — путь к тому Glusterfs. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
readOnly
boolean
readOnly — значение этого поля принудительно монтирует том Glusterfs с разрешениями только на чтение. По умолчанию false. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

HostPathVolumeSource

Представляет путь на узле, подключённый к поду. Тома HostPath не поддерживают управление владельцами или перемаркировку SELinux.

Поле Описание
path *
string
путь к каталогу на узле. Если путь является символической ссылкой, она будет разрешена в реальный путь. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
type
string
тип тома HostPath. По умолчанию "". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

Возможные значения перечисления:
- `""` Для обратной совместимости оставьте поле пустым, если значение не задано
- `"BlockDevice"` По указанному пути должно находиться блочное устройство
- `"CharDevice"` По указанному пути должно находиться символьное устройство
- `"Directory"` По указанному пути должен находиться каталог
- `"DirectoryOrCreate"` Если по указанному пути ничего нет, при необходимости там будет создан пустой каталог с режимом доступа 0755 и той же группой и владельцем, что и у Kubelet.
- `"File"` По указанному пути должен находиться файл
- `"FileOrCreate"` Если по указанному пути ничего нет, при необходимости там будет создан пустой файл с режимом доступа 0644 и той же группой и владельцем, что и у Kubelet.
- `"Socket"` По указанному пути должен находиться сокет UNIX

ISCSIPersistentVolumeSource

ISCSIPersistentVolumeSource представляет диск ISCSI. Тома ISCSI можно смонтировать для чтения и записи только один раз. Тома ISCSI поддерживают управление владельцами и перемаркировку SELinux.

Поле Описание
chapAuthDiscovery
boolean
chapAuthDiscovery определяет, поддерживается ли аутентификация iSCSI Discovery CHAP.
chapAuthSession
boolean
chapAuthSession определяет, поддерживается ли аутентификация iSCSI Session CHAP.
fsType
string
fsType — тип файловой системы тома, который требуется смонтировать. Совет: убедитесь, что тип файловой системы поддерживается операционной системой узла. Примеры: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
initiatorName
string
initiatorName — пользовательское имя инициатора iSCSI. Если initiatorName и iscsiInterface указаны одновременно, для подключения будет создан новый интерфейс iSCSI \:\.
iqn *
string
iqn — квалифицированное имя целевого устройства iSCSI.
iscsiInterface
string
iscsiInterface — имя интерфейса, использующего транспорт iSCSI. По умолчанию — 'default' (tcp).
lun *
integer
lun — номер LUN целевого устройства iSCSI.
portals
string array
portals — список порталов целевого устройства iSCSI. Портал — это IP-адрес или ip_addr:port, если порт отличается от порта по умолчанию (обычно используются порты TCP 860 и 3260).
readOnly
boolean
readOnly — значение этого поля принудительно устанавливает параметр ReadOnly в VolumeMounts. По умолчанию false.
secretRef
SecretReference
secretRef — секрет CHAP для аутентификации целевого устройства и инициатора iSCSI.
targetPortal *
string
targetPortal — портал целевого устройства iSCSI. Портал — это IP-адрес или ip_addr:port, если порт отличается от порта по умолчанию (обычно используются порты TCP 860 и 3260).

LocalVolumeSource

Local представляет непосредственно подключённое хранилище с привязкой к узлу.

Поле Описание
fsType
string
fsType — тип файловой системы для монтирования. Применяется только в том случае, если Path — блочное устройство. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". Если значение не указано, файловая система выбирается автоматически.
path *
string
path — полный путь к тому на узле. Это может быть каталог или блочное устройство (диск, раздел и т. д.).

NFSVolumeSource

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

Поле Описание
path *
string
путь, экспортируемый сервером NFS. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs
readOnly
boolean
readOnly — значение этого поля принудительно монтирует экспорт NFS с разрешениями только на чтение. По умолчанию false. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs
server *
string
server — имя хоста или IP-адрес сервера NFS. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#nfs

PhotonPersistentDiskVolumeSource

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

Поле Описание
fsType
string
fsType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4".
pdID *
string
pdID — идентификатор постоянного диска Photon Controller.

PortworxVolumeSource

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

Поле Описание
fsType
string
fSType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs". Если не указано, подразумевается "ext4".
readOnly
boolean
readOnly по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно устанавливает параметр ReadOnly в VolumeMounts.
volumeID *
string
volumeID — уникальный идентификатор тома Portworx.

QuobyteVolumeSource

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

Поле Описание
group
string
группа, которой предоставляется доступ к тому. По умолчанию группа не назначена.
readOnly
boolean
readOnly — значение этого поля принудительно монтирует том Quobyte с разрешениями только на чтение. По умолчанию false.
registry *
string
registry — одна или несколько служб Quobyte Registry, указанных в виде строковых пар host:port (несколько записей разделяются запятыми); служба выступает в роли центрального реестра томов.
tenant
string
tenant — владелец данного тома Quobyte в Backend. Используется с динамически подготовленными томами Quobyte; значение задаётся плагином.
user
string
пользователь, которому предоставляется доступ к тому. По умолчанию используется пользователь serviceaccount.
volume *
string
volume — строка, ссылающаяся по имени на уже созданный том Quobyte.

RBDPersistentVolumeSource

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

Поле Описание
fsType
string
fsType — тип файловой системы тома, который требуется смонтировать. Совет: убедитесь, что тип файловой системы поддерживается операционной системой узла. Примеры: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#rbd
image *
string
image — имя образа RADOS. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
keyring
string
keyring — путь к связке ключей для RBDUser. По умолчанию /etc/ceph/keyring. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
monitors *
string array
monitors — список мониторов Ceph. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
pool
string
pool — имя пула RADOS. По умолчанию rbd. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
readOnly
boolean
readOnly — значение этого поля принудительно устанавливает параметр ReadOnly в VolumeMounts. По умолчанию false. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
secretRef
SecretReference
secretRef — имя секрета аутентификации для RBDUser. Если указано, оно имеет приоритет над keyring. По умолчанию nil. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
user
string
user — имя пользователя RADOS. По умолчанию admin. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

ScaleIOPersistentVolumeSource

ScaleIOPersistentVolumeSource представляет постоянный том ScaleIO.

Поле Описание
fsType
string
fsType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". По умолчанию "xfs".
gateway *
string
gateway — адрес хоста API-шлюза ScaleIO.
protectionDomain
string
protectionDomain — имя домена защиты ScaleIO для настроенного хранилища.
readOnly
boolean
readOnly по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно устанавливает параметр ReadOnly в VolumeMounts.
secretRef *
SecretReference
secretRef — ссылка на секрет с данными пользователя ScaleIO и другой конфиденциальной информацией. Если он не указан, выполнить вход не удастся.
sslEnabled
boolean
sslEnabled — флаг включения или отключения SSL-соединения со шлюзом; по умолчанию false.
storageMode
string
storageMode указывает, должно ли хранилище тома быть ThickProvisioned или ThinProvisioned. По умолчанию ThinProvisioned.
storagePool
string
storagePool — пул хранилища ScaleIO, связанный с доменом защиты.
system *
string
system — имя системы хранения, настроенной в ScaleIO.
volumeName
string
volumeName — имя тома, уже созданного в системе ScaleIO и связанного с этим источником тома.

SecretReference

SecretReference представляет ссылку на Secret. Содержит достаточно информации для получения секрета в любом пространстве имён.

Поле Описание
name
string
name — уникальное в пределах пространства имён имя для ссылки на ресурс secret.
namespace
string
namespace определяет пространство имён, в пределах которого имя секрета должно быть уникальным.

StorageOSPersistentVolumeSource

Представляет ресурс постоянного тома StorageOS.

Поле Описание
fsType
string
fsType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4".
readOnly
boolean
readOnly по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно устанавливает параметр ReadOnly в VolumeMounts.
secretRef
ObjectReference
secretRef указывает секрет, используемый для получения учётных данных API StorageOS. Если он не указан, будут использованы значения по умолчанию.
volumeName
string
volumeName — понятное человеку имя тома StorageOS. Имена томов уникальны только в пределах пространства имён.
volumeNamespace
string
volumeNamespace задаёт область действия тома в StorageOS. Если пространство имён не указано, будет использоваться пространство имён пода. Это позволяет отразить в StorageOS область видимости имён Kubernetes для более тесной интеграции. Задайте VolumeName любое значение, чтобы переопределить поведение по умолчанию. Укажите "default", если пространства имён в StorageOS не используются. Пространства имён, которых ещё нет в StorageOS, будут созданы.

VolumeNodeAffinity

VolumeNodeAffinity определяет ограничения, которые задают узлы, с которых можно получить доступ к этому тому.

Поле Описание
required
NodeSelector
required задаёт обязательные ограничения для узлов, которые должны быть выполнены.

VsphereVirtualDiskVolumeSource

Представляет ресурс тома vSphere.

Поле Описание
fsType
string
fsType — тип файловой системы для монтирования. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". Если не указано, подразумевается "ext4".
storagePolicyID
string
storagePolicyID — идентификатор профиля Storage Policy Based Management (SPBM), связанного с StoragePolicyName.
storagePolicyName
string
storagePolicyName — имя профиля Storage Policy Based Management (SPBM).
volumePath *
string
volumePath — путь, идентифицирующий виртуальный диск vmdk в vSphere.

© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/core/persistent-volume-v1/

Spec-Zone.ru

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