Поддержка Container Storage Interface

Хранить данные для работы приложений можно в самих контейнерах, но есть некоторые ограничения:

  • Если контейнер работает некорректно, kubelet может перезагрузить его. При этом данные теряются, а контейнер запускается с чистым состоянием.

  • Данные, хранящиеся в контейнере, недоступны для других контейнеров пода.

Эти проблемы решаются с помощью подключения к кластеру общего хранилища.

В Kubernetes предоставлять произвольные блочные или файловые хранилища для контейнеров позволяет драйвер Container Storage Interface (CSI). Он расширяет возможности хранения данных для контейнерных приложений.

Драйвер CSI

CSI-драйвер в Managed Kubernetes соответствует спецификации Container Storage Interface.

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

Установить CSI-драйвер в кластер Managed Kubernetes можно при создании кластера или позже как плагин.

Ограничения и особенности

В текущей реализации драйвера поддерживается только режим ReadWriteOnce.

Допустимый размер тома для монтирования — от 1 ГБ до 4 ТБ, кратный 1 ГБ.

После создания постоянного тома его размер нельзя уменьшить. Увеличение размера тома разрешено по умолчанию.

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

Подробнее об ограничениях на тома в документации сервиса «Диски».

Примеры работы с постоянными томами

Примеры манифестов на создание Persistent Volume Claim, выделение и подключение постоянного тома к поду, а также удаление тома описаны в разделе Постоянные тома.

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

Запустили Evolution free tier
для Dev & Test
Получить