Увеличить размер тома для пода

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

Перед началом работы

  1. Создайте кластер Managed Kubernetes и хотя бы одну группу узлов.

  2. Установите CSI-драйвер для работы с постоянными томами.

  3. Создайте SNAT-шлюз для доступа к образу, который будете развертывать на поде.

  4. Подключитесь к созданному кластеру.

  5. Создайте под с динамически подготовленным томом. Для этого выполните шаги 1–2 инструкции по подготовке тома.

Шаг 1. Убедитесь, что увеличение размера тома возможно

В Managed Kubernetes по умолчанию разрешено увеличение размера тома. Чтобы проверить это, выполните команду:

kubectl get storageclass

В ответе отобразится информация о классе хранилищ, в том числе его параметры:

NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
cloudru-nvme ( default ) mk8s.csi.cloud.ru Delete WaitForFirstConsumer true 25m3s

В столбце ALLOWVOLUMEEXPANSION должно быть значение true.

Шаг 2. Запросите увеличение размера тома

Чтобы увеличить размер тома, необходимо обновить соответствующий PVC. В примере это cloudru-pvc.

  1. Выполните команду:

    kubectl edit pvc cloudru-pvc
  2. Измените параметр spec.resources.requests.storage. Допустимое значение — до 16 ТБ, кратное 1 ГБ.

    В примере значение увеличено с 6 ГБ на 8 ГБ.

    ...
    spec :
    accessModes :
    - ReadWriteOnce
    resources :
    requests :
    storage : 8Gi
    storageClassName : cloudru-nvme
    volumeMode : Filesystem
    volumeName : pvc-32218813-09c7-4a5f-b768-5ca91c506272
    status :
    accessModes :
    - ReadWriteOnce
    capacity :
    storage : 6Gi
    ...
    Внимание

    Не изменяйте вручную параметр status.capacity.storage, это может привести к ошибкам в файловой системе контейнера.

  3. Сохраните Persistent Volume Claim.

Шаг 3. Проверьте увеличение размера тома

Выполните команду:

kubectl get pvc cloudru-pvc -o yaml

В ответе значение параметра status.capacity.storage изменится в соответствии с запросом.

...
spec :
accessModes :
- ReadWriteOnce
resources :
requests :
storage : 8Gi
storageClassName : cloudru-nvme
volumeMode : Filesystem
volumeName : pvc-32218813-09c7-4a5f-b768-5ca91c506272
status :
accessModes :
- ReadWriteOnce
capacity :
storage : 8Gi
...

В примере status.capacity.storage: 8Gi. Размер тома увеличен.

Evolution