Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ML Services
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Обновление операционной системы в группе узлов
    • Шифрование
      • Том
      • Сервис
    • Сеть в Managed Service for Kubernetes
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Политика аудита
    • Внешние узлы кластера
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Работа с постоянными томами
  • Режимы подключения постоянных томов
  • Том с файловой системой
  • Том без файловой системы
  • Подготовка томов
  • Динамическая подготовка тома
  • Статическая подготовка тома
  • Увеличение размера томов
  • Удаление томов
  • Использование зашифрованных дисков
  • Примеры использования
  1. Концепции
  2. Использование объектов API Kubernetes
  3. Том

Том

Статья создана
Yandex Cloud
Обновлена 5 сентября 2025 г.
  • Работа с постоянными томами
  • Режимы подключения постоянных томов
    • Том с файловой системой
    • Том без файловой системы
  • Подготовка томов
    • Динамическая подготовка тома
    • Статическая подготовка тома
  • Увеличение размера томов
  • Удаление томов
  • Использование зашифрованных дисков
  • Примеры использования

Данные для работы приложений в контейнерах можно хранить в самих контейнерах, но при этом возникают проблемы:

  • Когда контейнер аварийно завершает работу, kubelet перезапускает его, но файлы теряются — контейнер запускается с чистым состоянием.
  • Файлы в контейнере недоступны для других контейнеров, работающих в том же поде.

Эти проблемы решаются с помощью томов Kubernetes.

Том — общее хранилище для совместного использования объектов в разных контейнерах, развернутых в пределах одного или нескольких подов. Пользователь указывает в спецификации пода тома, которые будут содержать под, и путь, по которому контейнеры монтируют эти тома.

Для работы с томами Kubernetes оперирует объектами API Kubernetes: Volume, PersistentVolume, PersistentVolumeClaim, StorageClass.

Тома разделяются согласно их жизненному циклу:

  • Временные (Volume) — имеют то же время жизни, что и содержащие их поды. Эти тома создаются при создании пода и сохраняются при перезапуске контейнера. Когда под останавливается или удаляется, его тома уничтожаются.
  • Постоянные (PersistentVolume) — имеют свой собственный жизненный цикл. В этих томах данные сохраняются при удалении пода. Том можно размонтировать, например, для переноса данных на другой под или узел Managed Service for Kubernetes.

Временные и постоянные тома могут быть разных типов, в зависимости от хранилища. Ознакомьтесь с типами томов, поддерживаемых в Kubernetes.

Работа с постоянными томамиРабота с постоянными томами

Работа с постоянными томами Kubernetes осуществляется с помощью объектов API PersistentVolume и PersistentVolumeClaim.

  • PersistentVolumes, PV — это ресурсы кластера Managed Service for Kubernetes, которые существуют независимо от подов. Это означает, что диск и данные, предоставленные PV, продолжают существовать при изменении кластера Managed Service for Kubernetes, а также при удалении и повторном создании подов.

    Ресурсы объекта PersistentVolume могут быть подготовлены динамически с помощью объектов PersistentVolumeClaims или заранее созданы администратором кластера Managed Service for Kubernetes.

  • PersistentVolumeClaim, PVC — используются для указания объектов PersistentVolumes в спецификации пода, так как объекты PersistentVolumes не могут быть указаны напрямую.

    Объекты PersistentVolumeClaim запрашивают определенный размер, режим доступа и класс хранилищ для объекта PersistentVolume. Если объект PersistentVolume, удовлетворяющий запросу, существует или может быть подготовлен, объект PersistentVolumeClaim связывается с необходимым объектом PersistentVolume. Кластер Managed Service for Kubernetes монтирует объект PersistentVolumeClaim в качестве тома для пода.

Пользователям часто необходимы объекты PersistentVolumes с различными свойствами. Администраторы кластеров Managed Service for Kubernetes могут предлагать различные объекты PersistentVolumes благодаря классам хранилищ.

Внимание

При удалении кластера Managed Service for Kubernetes диски Compute Cloud, связанные с PersistentVolumes, не удаляются автоматически.

Режимы подключения постоянных томовРежимы подключения постоянных томов

Managed Service for Kubernetes поддерживает два режима подключения (volumeMode) постоянных томов (PersistentVolume): с файловой системой (Filesystem) и без нее (Block).

Если volumeMode не указан, значение по умолчанию: Filesystem.

Том с файловой системойТом с файловой системой

Вы можете указать в PersistentVolumeClaim режим подключения volumeMode: Filesystem, тогда Managed Service for Kubernetes создаст файловую систему на блочном хранилище перед его первым монтированием к поду.

Как подготовить под с томом в режиме volumeMode: Filesystem, читайте в разделе Динамическая подготовка тома.

Том без файловой системыТом без файловой системы

Вы можете установить значение volumeMode: Block, чтобы подключить том в качестве блочного хранилища без создания файловой системы. Приложение, запущенное на поде с таким томом, должно уметь работать с хранилищем без файловой системы.

Как подготовить под с томом в режиме volumeMode: Block, читайте в разделе Подключение тома в блочном режиме.

Подготовка томовПодготовка томов

В Managed Service for Kubernetes можно использовать объекты PersistentVolumes на основе дисков Yandex Compute Cloud. Тип используемого диска и другие параметры можно установить с помощью соответствующих классов хранилищ.

В Managed Service for Kubernetes доступны следующие типы дисков:

  • Сетевой SSD-диск (network-ssd) — быстрый сетевой диск, сетевое блочное хранилище на SSD-накопителе.
  • Сетевой HDD-диск (network-hdd) — стандартный сетевой диск, сетевое блочное хранилище на HDD-накопителе.
  • Нереплицируемый SSD-диск (network-ssd-nonreplicated) — сетевой диск с повышенной производительностью без избыточности.
  • Сверхбыстрое сетевое хранилище с тремя репликами (SSD) (network-ssd-io-m3) — высокопроизводительный диск, который обладает теми же скоростными характеристиками, что и network-ssd-nonreplicated, но одновременно обеспечивает избыточность.

Внимание

Диски Compute Cloud создаются в определенной зоне доступности. Это влияет на то, где могут быть перезапущены поды.

Динамическая подготовка томаДинамическая подготовка тома

В большинстве случаев нет необходимости вручную создавать объекты PersistentVolumes и диски Compute Cloud. Вместо этого можно создать объекты PersistentVolumeClaim, и Managed Service for Kubernetes автоматически подготовит необходимый объект PersistentVolume и создаст диск.

Как динамически подготовить том, читайте в разделе Динамическая подготовка тома.

Статическая подготовка томаСтатическая подготовка тома

Помимо создания новых дисков для подготовки объектов PersistentVolumes, вы можете использовать уже существующие диски Yandex Cloud.

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

Увеличение размера томовУвеличение размера томов

В Managed Service for Kubernetes поддерживается «горячее» увеличение размера томов с помощью объекта PersistentVolumeClaim без необходимости перезапуска подов, которые эти тома используют.

Подробнее см. в разделе Увеличение размера тома для подов.

Удаление томовУдаление томов

В зависимости от настроек объектов PersistentVolume и PersistentVolumeClaim соответствующие тома и диски могут удаляться автоматически или вручную.

  • При динамической подготовке тома: после удаления объекта PersistentVolumeClaim на основе классов хранилищ yc-network-hdd или yc-network-ssd, соответствующие объект PersistentVolume и диск Compute Cloud будут удалены.
  • При статической подготовке тома: для спецификации PersistentVolumeSpec всегда используется значение параметра persistentVolumeReclaimPolicy: Retain, при этом диск Compute Cloud не удаляется при удалении объекта PersistentVolumeClaim. Значение параметра Delete, заданное вручную, не приведет к удалению диска.

При удалении кластера Managed Service for Kubernetes диски Compute Cloud, связанные с PersistentVolumes, не удаляются автоматически.

Подробнее о томах читайте в документации Kubernetes.

Использование зашифрованных дисковИспользование зашифрованных дисков

В Managed Service for Kubernetes для постоянных томов поддерживается использование дисков Compute Cloud, зашифрованных с помощью пользовательских симметричных ключей Yandex Key Management Service.

Примечание

Чтобы использовать зашифрованные диски, у облачного сервисного аккаунта, назначенного кластеру Managed Service for Kubernetes, должна быть роль kms.keys.encrypterDecrypter на ключ или каталог.

Для статической подготовки тома вы можете использовать существующий зашифрованный диск, аналогично обычному диску из Compute Cloud.

Для динамической подготовки тома вам понадобится создать новый класс хранилища (StorageClass) с указанием идентификатора симметричного ключа в поле parameters:kmsKeyId.

Манифест для класса хранилища с шифрованием:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: <название_класса_хранилища>
provisioner: disk-csi-driver.mks.ycloud.io
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: <тип_диска>
  csi.storage.k8s.io/fstype: ext4
  kmsKeyId: <идентификатора_симметричного_ключа>
allowVolumeExpansion: true
reclaimPolicy: Delete

Где:

  • metadata:name — произвольное название класса хранилища.
  • parameters:type — тип диска в Compute Cloud. Возможные значения:
    • network-ssd — сетевой SSD-диск.
    • network-hdd — сетевой HDD-диск.
    • network-ssd-nonreplicated — нереплицируемый SSD-диск.
    • network-ssd-io-m3 — сверхбыстрое сетевое хранилище с тремя репликами (SSD).
  • parameters:kmsKeyId — идентификатор симметричного ключа.

Подробнее об использовании зашифрованных дисков см. на странице Использование зашифрованных дисков для постоянных томов.

Примеры использованияПримеры использования

  • Резервное копирование кластера Managed Service for Kubernetes в Object Storage

Была ли статья полезна?

Предыдущая
Шифрование
Следующая
Сервис
Проект Яндекса
© 2025 ООО «Яндекс.Облако»