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

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

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

  1. Создайте кластер с публичным IP-адресом и группу узлов.

  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. Допустимое значение — до 4 ТБ, кратное 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 free tier
для Dev & Test
Получить