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

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

  • Включите механизм увеличения размера тома
  • Создайте объект PersistentVolumeClaim
  • Создайте под с динамически подготовленным томом
  • Удалите под с томом
  • Запросите увеличение размера тома
  • Создайте под с томом
  1. Пошаговые инструкции
  2. Работа с постоянными томами
  3. Увеличение размера тома для подов

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

Статья создана
Yandex Cloud
Обновлена 21 января 2025 г.
  • Включите механизм увеличения размера тома
  • Создайте объект PersistentVolumeClaim
  • Создайте под с динамически подготовленным томом
  • Удалите под с томом
  • Запросите увеличение размера тома
  • Создайте под с томом

Чтобы увеличить размер тома:

  1. Включите механизм увеличения размера тома.
  2. Создайте объект PersistentVolumeClaim.
  3. Создайте под с динамически подготовленным томом.
  4. Удалите под с томом.
  5. Запросите увеличение размера тома.
  6. Удалите под с томом.

Перед началом работы установите kubectl и настройте его на работу с созданным кластером Managed Service for Kubernetes.

Включите механизм увеличения размера томаВключите механизм увеличения размера тома

Чтобы включить механизм увеличения размера тома, в описании класса хранилища (StorageClass) должен быть указан параметр allowVolumeExpansion: true. В хранилищах сервиса Managed Service for Kubernetes этот механизм включен по умолчанию:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: yc-network-hdd
provisioner: disk-csi-driver.mks.ycloud.io
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: network-hdd
  csi.storage.k8s.io/fstype: ext4
allowVolumeExpansion: true
reclaimPolicy: Delete

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

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

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

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-expansion
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: yc-network-hdd
      resources:
        requests:
          storage: 1Gi
    
  2. Создайте объект PersistentVolumeClaim:

    kubectl create -f pvc-expansion.yaml
    

    Результат:

    persistentvolumeclaim/pvc-expansion created
    

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

  1. Сохраните следующую спецификацию для создания пода в YAML-файл с названием pod.yaml.

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

    apiVersion: v1
    kind: Pod
    metadata:
      name: 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: pvc-expansion
    
  2. Создайте под:

    kubectl create -f pod.yaml
    

    Результат:

    pod/pod created
    

Удалите под с томомУдалите под с томом

Чтобы запросить увеличение размера тома, необходимо удалить под.

  1. Удалите под:

    kubectl delete pod pod
    

    Результат:

    pod "pod" deleted
    

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

Внесите изменения в поле spec.resources.requests.storage объекта PersistentVolumeClaim.

  1. Откройте YAML-файл с названием pvc-expansion.yaml:

    kubectl edit pvc pvc-expansion
    

    В текстовом редакторе измените значение размера диска и сохраните его:

    # Please edit the object below. Lines beginning with a '#' will be ignored,
    # and an empty file will abort the edit. If an error occurs while saving this file will be
    # reopened with the relevant failures.
    #
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    ...
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
         storage: 1Gi # Измените на 2Gi.
    ...
    status:
      accessModes:
      - ReadWriteOnce
      capacity:
        storage: 1Gi
    phase: Bound
    
  2. Дождитесь увеличения размера тома. Проверьте изменения:

    kubectl get pvc pvc-expansion -o yaml
    

    В поле spec.resources.requests.storage появился запрошенный объем тома:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    ...
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 2Gi
    ...
    status:
      accessModes:
      - ReadWriteOnce
      capacity:
        storage: 1Gi
    ...
    

Создайте под с томомСоздайте под с томом

  1. Чтобы размер тома увеличился, необходимо создать под:

    kubectl create -f pod.yaml
    

    Результат:

    pod/pod created
    
  2. Проверьте изменения:

    kubectl get pvc pvc-expansion -o yaml
    

    Размер тома увеличен. В поле status.capacity.storage появился увеличенный объем:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    ...
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 2Gi
    ...
    status:
      accessModes:
      - ReadWriteOnce
      capacity:
        storage: 2Gi
    ...
    

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

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