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

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

  • Перед началом работы
  • Создайте объект PersistentVolume
  • Создайте объект PersistentVolumeClaim
  • Создайте под со статически подготовленным томом
  • Как удалить том
  • См. также
  1. Пошаговые инструкции
  2. Работа с постоянными томами
  3. Статическая подготовка тома

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

Статья создана
Yandex Cloud
Улучшена
Обновлена 2 июня 2025 г.
  • Перед началом работы
  • Создайте объект PersistentVolume
  • Создайте объект PersistentVolumeClaim
  • Создайте под со статически подготовленным томом
  • Как удалить том
    • См. также

Создайте под со статически подготовленным томом:

  1. Создайте объект PersistentVolume.
  2. Создайте объект PersistentVolumeClaim.
  3. Создайте под.

Совет

Вы можете использовать бакет Yandex Object Storage в качестве хранилища для пода. Подробнее см. в разделе Интеграция с Object Storage.

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

  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Узнайте уникальный идентификатор диска, который будет использован для создания объекта PersistentVolume:

    1. Если у вас еще нет диска, создайте его.

      Важно

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

    2. Получите идентификатор диска (колонка ID):

      yc compute disk list
      

      Результат:

      +----------------------+------+------------+-------------------+--------+--------------+-------------+
      |          ID          | NAME |    SIZE    |       ZONE        | STATUS | INSTANCE IDS | DESCRIPTION |
      +----------------------+------+------------+-------------------+--------+--------------+-------------+
      | ef3ouo4sgl86******** | k8s  | 4294967296 | ru-central1-a     | READY  |              |             |
      +----------------------+------+------------+-------------------+--------+--------------+-------------+
      
  3. Посмотрите доступные классы хранилищ и выберите подходящий:

    kubectl get storageclass
    

    Результат:

    NAME                          PROVISIONER                    RECLAIMPOLICY  VOLUMEBINDINGMODE     ALLOWVOLUMEEXPANSION  AGE
    yc-network-hdd (default)      disk-csi-driver.mks.ycloud.io  Delete         WaitForFirstConsumer  true                  12d
    yc-network-nvme               disk-csi-driver.mks.ycloud.io  Delete         WaitForFirstConsumer  true                  12d
    yc-network-ssd                disk-csi-driver.mks.ycloud.io  Delete         WaitForFirstConsumer  true                  12d
    yc-network-ssd-nonreplicated  disk-csi-driver.mks.ycloud.io  Delete         WaitForFirstConsumer  true                  12d
    

    Примечание

    Не путайте классы хранилищ Kubernetes и типы дисков Yandex Compute Cloud.

Создайте объект PersistentVolumeСоздайте объект PersistentVolume

  1. Сохраните спецификацию для создания объекта PersistentVolume в YAML-файл с названием test-pv.yaml.

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

    При указании параметра spec.capacity.storage убедитесь, что задан точный объем диска. Container Storage Interface не обеспечивает проверку объема диска для статически подготовленных томов.

    Для создания объекта PersistentVolume на основе существующего облачного диска в параметре volumeHandle укажите уникальный идентификатор необходимого диска.

    Примечание

    Если не указать параметр storageClassName, будет использован класс хранилищ по умолчанию: yc-network-hdd. Как изменить класс по умолчанию читайте в разделе Измените класс хранилищ по умолчанию.

    Подробнее о спецификации для создания объекта PersistentVolumeClaim читайте в документации Kubernetes.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: <имя_PersistentVolume>
    spec:
      capacity:
        storage: <размер_PersistentVolume>
      accessModes:
        - ReadWriteOnce
      csi:
        driver: disk-csi-driver.mks.ycloud.io
        fsType: ext4
        volumeHandle: <идентификатор_диска>
      storageClassName: <имя_класса_хранилища>
    
  2. Выполните команду:

    kubectl create -f test-pv.yaml
    

    Результат:

    persistentvolume/<имя_PersistentVolume> created
    
  3. Посмотрите информацию о созданном объекте PersistentVolume:

    kubectl describe persistentvolume <имя_PersistentVolume>
    

    Результат:

    Name:            <имя_PersistentVolume>
    Labels:          <none>
    Annotations:     <none>
    Finalizers:      [kubernetes.io/pv-protection]
    StorageClass:    <имя_класса_хранилища>
    Status:          Available
    ...
    

Создайте объект PersistentVolumeClaimСоздайте объект PersistentVolumeClaim

  1. Сохраните спецификацию для создания объекта PersistentVolumeClaim YAML-файл с названием test-claim.yaml.

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

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: <имя_PersistentVolumeClaim>
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: <размер_PersistentVolumeClaim>
      storageClassName: <имя_класса_хранилища>
      volumeName: <имя_PersistentVolume>
    

    Примечание

    Размер PersistentVolumeClaim должен быть меньше или равен размеру PersistentVolume.

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

    kubectl create -f test-claim.yaml
    

    Результат:

    persistentvolumeclaim/<имя_PersistentVolumeClaim> created
    
  3. Посмотрите информацию о созданном PersistentVolumeClaim:

    kubectl describe persistentvolumeclaim <имя_PersistentVolumeClaim>
    

    Результат:

    Name:          <имя_PersistentVolumeClaim>
    Namespace:     default
    StorageClass:  <имя_класса_хранилища>
    Status:        Bound
    Volume:        <имя_PersistentVolume>
    ...
    

Создайте под со статически подготовленным томомСоздайте под со статически подготовленным томом

  1. Создайте файл test-pod.yaml с манифестом пода, использующего PersistentVolumeClaim:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-pod
    spec:
      containers:
      - name: app
        image: ubuntu
        command: ["/bin/sh"]
        args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
        volumeMounts:
        - name: persistent-storage
          mountPath: /data
      volumes:
      - name: persistent-storage
        persistentVolumeClaim:
          claimName: <имя_PersistentVolumeClaim>
    

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

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

    kubectl create -f test-pod.yaml
    

    Результат:

    pod/test-pod created
    
  3. Посмотрите информацию о созданном поде:

    kubectl describe pod test-pod
    

    Результат:

    Name:       test-pod
    Namespace:  default
    Priority:   0
    ...
      ----    ------                  ----  ----                     -------
      Normal  Scheduled               20m   default-scheduler        Successfully assigned default/test-pod to cl1jtehftl7q********-icut
      Normal  SuccessfulAttachVolume  20m   attachdetach-controller  AttachVolume.Attach succeeded for volume "<имя_PersistentVolume>"
    

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

Как удалить томКак удалить том

Диски в Compute Cloud не удаляются автоматически при удалении PersistentVolume. Чтобы полностью удалить том:

  1. Удалите объект PersistentVolumeClaim:

    kubectl delete pvc <идентификатор_объекта_PersistentVolumeClaim>
    
  2. Удалите объект PersistentVolume:

    kubectl delete pv <идентификатор_объекта_PersistentVolume>
    
  3. Удалите диск в Compute Cloud, связанный с объектом PersistentVolume.

См. такжеСм. также

  • Том
  • Использование зашифрованных дисков для постоянных томов
  • Динамическая подготовка тома
  • Управление классами хранилищ

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

Предыдущая
Динамическая подготовка тома
Следующая
Управление классами хранилищ
Проект Яндекса
© 2025 ООО «Яндекс.Облако»