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
  • История изменений
  • Обучающие курсы

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

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

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

Статья создана
Yandex Cloud
Обновлена 12 марта 2025 г.
  • Создайте контроллер StatefulSet
  • Внесите изменения в настройки контроллера

Чтобы увеличить размер тома для контроллера StatefulSet без остановки сервиса:

  1. Создайте контроллер StatefulSet.
  2. Внесите изменения в настройки контроллера.

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

Создайте контроллер StatefulSetСоздайте контроллер StatefulSet

  1. Создайте файл sts.yaml с конфигурацией контроллера:

    sts.yaml
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: ubuntu-test
    spec:
      selector:
        matchLabels:
          app: ubuntu
      serviceName: "ubuntu"
      replicas: 3
      template:
        metadata:
          labels:
            app: ubuntu
        spec:
          terminationGracePeriodSeconds: 10
          containers:
          - name: ubuntu
            image: ubuntu
            command: ["/bin/sh"]
            args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
            volumeMounts:
            - mountPath: /data
              name: pvc-dynamic
      volumeClaimTemplates:
      - metadata:
          name: pvc-dynamic
        spec:
          accessModes: [ "ReadWriteOnce" ]
          storageClassName: "yc-network-hdd"
          resources:
            requests:
              storage: 1Gi
    
  2. Создайте контроллер:

    kubectl apply -f sts.yaml
    

    В результате выполнения команды будет создан контроллер StatefulSet с именем ubuntu-test, состоящий из трех подов. Размер PersistentVolumeClaim для каждого пода — 1 ГБ.

  3. Убедитесь, что поды контроллера перешли в статус Running, а PersistentVolumeClaim — в статус Bound:

    kubectl get pods,pvc
    

    Результат:

    NAME               READY  STATUS   RESTARTS  AGE
    pod/ubuntu-test-0  1/1    Running  0         90s
    pod/ubuntu-test-1  1/1    Running  0         80s
    pod/ubuntu-test-2  1/1    Running  0         72s
    
    NAME                                             STATUS  VOLUME                                    CAPACITY  ACCESS MODES  STORAGECLASS    AGE
    persistentvolumeclaim/pvc-dynamic-ubuntu-test-0  Bound   pvc-603ac129-fe56-400a-8481-feaa********  1Gi       RWO           yc-network-hdd  91s
    persistentvolumeclaim/pvc-dynamic-ubuntu-test-1  Bound   pvc-a6fb0761-0771-483c-abfb-d4a8********  1Gi       RWO           yc-network-hdd  81s
    persistentvolumeclaim/pvc-dynamic-ubuntu-test-2  Bound   pvc-f479c8aa-426a-4e43-9749-5e0f********  1Gi       RWO           yc-network-hdd  73s
    
  4. Убедитесь, что диски для объектов с префиксами k8s-csi перешли в статус READY:

    yc compute disk list
    

    Результат:

    +----------------------+--------------------------------------------------+------------+-------------------+--------+----------------------+-------------+
    |          ID          |                       NAME                       |    SIZE    |        ZONE       | STATUS |     INSTANCE IDS     | DESCRIPTION |
    +----------------------+--------------------------------------------------+------------+-------------------+--------+----------------------+-------------+
    | ef3b5ln111s3******** | k8s-csi-15319ac44278c2ff23f0df04ebdbe5a8******** | 1073741824 | ru-central1-a     | READY  | ef3nrev9j72t******** |             |
    | ef3e617rmqri******** | k8s-csi-336f16a11f750525075d7c155ad26ae3******** | 1073741824 | ru-central1-a     | READY  | ef3nrev9j72t******** |             |
    | ef3rfleqkit0******** | k8s-csi-ba784ddd49c7aabc63bcbfc45be3cc2e******** | 1073741824 | ru-central1-a     | READY  | ef3nrev9j72t******** |             |
    +----------------------+--------------------------------------------------+------------+-------------------+--------+----------------------+-------------+
    

Внесите изменения в настройки контроллераВнесите изменения в настройки контроллера

  1. Сохраните текущую конфигурацию контроллера ubuntu-test в файл ubuntu-test-sts.yaml:

    kubectl get sts ubuntu-test --output yaml > ubuntu-test-sts.yaml
    
  2. В файле ubuntu-test-sts.yaml увеличьте значение параметра volumeClaimTemplates.spec.resources.requests.storage с 1Gi до 2Gi:

    ...
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 2Gi
    

    Примечание

    Аналогичное значение 1Gi настройки kubectl.kubernetes.io/last-applied-configuration изменять не нужно.

  3. Удалите текущий контроллер StatefulSet ubuntu-test:

    kubectl delete statefulset ubuntu-test --cascade=orphan
    
  4. Убедитесь, что контроллер StatefulSet удален:

    kubectl get sts
    
  5. Удалите первый под ubuntu-test-0:

    kubectl delete pod ubuntu-test-0
    
  6. Внесите изменения в PersistentVolumeClaim удаленного пода ubuntu-test-0 — увеличьте размер хранилища до 2 ГБ:

    kubectl patch pvc pvc-dynamic-ubuntu-test-0 --patch '{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'
    
  7. Примените изменения в контроллере ubuntu-test:

    kubectl apply -f ubuntu-test-sts.yaml
    
  8. Уменьшите количество подов контроллера ubuntu-test до 1:

    kubectl scale statefulset ubuntu-test --replicas=1
    
  9. Увеличьте размер хранилища до 2 ГБ для подов ubuntu-test-1 и ubuntu-test-2:

    kubectl patch pvc pvc-dynamic-ubuntu-test-1 --patch '{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}' && \
    kubectl patch pvc pvc-dynamic-ubuntu-test-2 --patch '{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'
    
  10. Верните прежнее количество подов контроллера ubuntu-test обратно к 3:

    kubectl scale statefulset ubuntu-test --replicas=3
    
  11. Убедитесь, что PersistentVolume для контроллера ubuntu-test увеличен до 2 Гбайт для каждого тома:

    kubectl get pv
    

    Результат:

    NAME                                      CAPACITY  ACCESS MODES  RECLAIM POLICY  STATUS  CLAIM                              STORAGECLASS    REASON  AGE
    pvc-603ac129-fe56-400a-8481-feaa********  2Gi       RWO           Delete          Bound   default/pvc-dynamic-ubuntu-test-0  yc-network-hdd          11m
    pvc-a6fb0761-0771-483c-abfb-d4a8********  2Gi       RWO           Delete          Bound   default/pvc-dynamic-ubuntu-test-1  yc-network-hdd          11m
    pvc-f479c8aa-426a-4e43-9749-5e0f********  2Gi       RWO           Delete          Bound   default/pvc-dynamic-ubuntu-test-2  yc-network-hdd          11m
    

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

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