Создание PVC

Создайте PersistentVolumeClaim (PVC) и при необходимости задайте параметры для запрашиваемого PersistentVolume (PV).

Вы можете создать PersistentVolumeClaim либо через визуальную форму UI, либо с помощью пользовательского YAML-файла оркестрации.

Содержание

Предварительные требования

Убедитесь, что в namespace достаточно оставшейся квоты хранилища для удовлетворения требуемого размера хранилища при выполнении операции создания.

Пример PersistentVolumeClaim:

# example-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: example-pvc
  namespace: k-1
  annotations: {}
  labels: {}
spec:
  storageClassName: cephfs
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 4Gi

Создание Persistent Volume Claim с помощью веб-консоли

  1. Перейдите в Container Platform.

  2. В левой боковой панели выберите Storage > PersistentVolumeClaims (PVC).

  3. Нажмите Create PVC.

  4. Настройте параметры по необходимости.

    Примечание: Следующий контент приведён в качестве примера с использованием формы; вы также можете переключиться в режим YAML для выполнения операции.

    ПараметрОписание
    NameИмя PersistentVolumeClaim, которое должно быть уникальным в пределах текущего namespace.
    Creation Method- Dynamic Creation: Динамически создаёт PersistentVolume на основе storage class и связывает его.
    - Static Binding: Выполняет сопоставление и связывание на основе настроенных параметров и существующих PersistentVolumes.
    Storage ClassПосле выбора метода динамического создания платформа динамически создаст PersistentVolume в соответствии с описанием в указанном storage class.
    Access Mode- ReadWriteOnce (RWO): Может быть смонтирован одним узлом в режиме чтения и записи.
    - ReadWriteMany (RWX): Может быть смонтирован несколькими узлами в режиме чтения и записи.
    - ReadOnlyMany (ROX): Может быть смонтирован несколькими узлами в режиме только для чтения.

    Совет: Рекомендуется учитывать количество экземпляров workload, которые планируется связать с текущим PersistentVolumeClaim, а также тип контроллера развертывания. Например, при создании мультиэкземплярного развертывания (Deployment), поскольку все экземпляры используют один PersistentVolumeClaim, не рекомендуется выбирать режим доступа RWO, который может быть подключён только к одному узлу.
    CapacityРазмер запрашиваемого PersistentVolume.
    Volume Mode- Filesystem: Связывает PersistentVolume как файловую директорию, монтируемую в Pod. Этот режим доступен для любого типа workload.
    - Block Device: Связывает PersistentVolume как необработанное блочное устройство, монтируемое в Pod. Этот режим доступен только для виртуальных машин.
    More- Labels
    - Annotations
    - Selector: После выбора метода статического связывания можно использовать селектор для выбора PersistentVolumes с определёнными метками. Метки PersistentVolume могут использоваться для обозначения специальных атрибутов хранилища, таких как тип диска или географическое расположение.
  5. Нажмите Create. Дождитесь, пока статус PersistentVolumeClaim не изменится на Bound, что означает успешное сопоставление PersistentVolume.

Создание Persistent Volume Claim с помощью CLI

kubectl apply -f example-pvc.yaml

Операции

  • Связывание PersistentVolumeClaim: При создании приложений или workload, требующих постоянного хранения данных, свяжите PersistentVolumeClaim для запроса соответствующего PersistentVolume.

  • Создание PersistentVolumeClaim с использованием Volume Snapshots: Это помогает создавать резервные копии данных приложений и восстанавливать их по необходимости, обеспечивая надёжность данных бизнес-приложений. Пожалуйста, обратитесь к Using Volume Snapshots.

  • Удаление PersistentVolumeClaim: Вы можете нажать кнопку Actions в правом верхнем углу страницы с деталями для удаления PersistentVolumeClaim при необходимости. Перед удалением убедитесь, что PersistentVolumeClaim не связан с какими-либо приложениями или workload и не содержит volume snapshots. После удаления PersistentVolumeClaim платформа обработает PersistentVolume в соответствии с политикой рекламации, что может привести к очистке данных в PersistentVolume и освобождению ресурсов хранилища. Пожалуйста, действуйте осторожно, учитывая безопасность данных.

Расширение ёмкости PersistentVolumeClaim с помощью веб-консоли

  1. В левой навигационной панели выберите Storage > Persistent Volume Claims (PVC).

  2. Найдите нужный persistent volume claim и нажмите ⋮ > Expand.

  3. Укажите новый размер.

  4. Нажмите Expand. Процесс расширения может занять некоторое время, пожалуйста, будьте терпеливы.

Расширение ёмкости Persistent Volume Claim с помощью CLI

kubectl patch pvc example-pvc -n k-1 --type='merge' -p '{
  "spec": {
    "resources": {
      "requests": {
        "storage": "6Gi"
      }
    }
  }
}'
INFO

Если расширение PVC в Kubernetes не удалось, администраторы могут вручную восстановить состояние Persistent Volume Claim (PVC) и отменить запрос на расширение. См. Recover From PVC Expansion Failure

Дополнительные ресурсы