Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Все инструкции
      • Посмотреть логи
      • Восстановить Loki в standalone-режиме при заполнении PVC
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

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

  • Проверить состояние
  • Предпочтительный способ: расширить PVC
  • Если PVC нельзя расширить
  • После восстановления
  1. Пошаговые инструкции
  2. Логирование
  3. Восстановить Loki в standalone-режиме при заполнении PVC

Восстановить Loki в standalone-режиме при заполнении PVC

Статья создана
Yandex Cloud
Обновлена 2 июля 2026 г.
Открыть в Markdown
  • Проверить состояние
  • Предпочтительный способ: расширить PVC
  • Если PVC нельзя расширить
  • После восстановления

В режиме standalone Loki хранит данные на одном PVC. Если PVC заполнен, pod Loki может перейти в CrashLoopBackOff, а в логах появляются ошибки вида no space left on device.

Не удаляйте PVC как первый шаг восстановления. В standalone это приведет к потере локального хранилища логов.

Проверить состояниеПроверить состояние

  1. Найдите namespace с Loki. Для компонента logging используется stackland-logging, для bootstrap-установки может использоваться loki.

    kubectl get pods,pvc -A | grep -E 'loki|stackland-logging'
    
  2. Проверьте pod и PVC:

    NS=stackland-logging
    kubectl -n "$NS" get pods,pvc
    kubectl -n "$NS" describe pod -l app.kubernetes.io/name=loki
    kubectl -n "$NS" describe pvc
    
  3. Проверьте свободное место на PVC по метрикам kubelet или внутри pod, если pod еще стартует:

    POD=$(kubectl -n "$NS" get pod \
      -l app.kubernetes.io/name=loki,app.kubernetes.io/component=single-binary \
      -o jsonpath='{.items[0].metadata.name}')
    kubectl -n "$NS" exec -it "$POD" -- df -h /var/loki
    

Предпочтительный способ: расширить PVCПредпочтительный способ: расширить PVC

  1. Узнайте имя PVC и StorageClass:

    NS=stackland-logging
    kubectl -n "$NS" get pvc
    PVC=<PVC_NAME>
    SC=$(kubectl -n "$NS" get pvc "$PVC" -o jsonpath='{.spec.storageClassName}')
    kubectl get storageclass "$SC" -o jsonpath='{.allowVolumeExpansion}{"\n"}'
    
  2. Если allowVolumeExpansion=true, увеличьте PVC. Новое значение должно быть больше текущего:

    kubectl -n "$NS" patch pvc "$PVC" --type merge \
      -p '{"spec":{"resources":{"requests":{"storage":"100Gi"}}}}'
    
  3. Дождитесь завершения resize:

    kubectl -n "$NS" get pvc "$PVC" -w
    
  4. Перезапустите Loki, если pod сам не восстановился:

    STS=$(kubectl -n "$NS" get statefulset \
      -l app.kubernetes.io/name=loki,app.kubernetes.io/component=single-binary \
      -o jsonpath='{.items[0].metadata.name}')
    kubectl -n "$NS" rollout restart statefulset/"$STS"
    kubectl -n "$NS" rollout status statefulset/"$STS"
    
  5. Закрепите новый размер в LoggingConfig, иначе следующий reconcile может вернуть старое значение:

    apiVersion: stackland.yandex.cloud/v1alpha1
    kind: LoggingConfig
    metadata:
      name: main
    spec:
      settings:
        logStorage:
          storage:
            enabled: true
            size: 100Gi
    

Если PVC нельзя расширитьЕсли PVC нельзя расширить

Если StorageClass не поддерживает expansion или в VolumeGroup нет свободного места, сначала освободите или добавьте емкость на уровне дисковой подсистемы. После этого повторите расширение PVC.

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

  1. Остановите Loki:

    NS=stackland-logging
    STS=$(kubectl -n "$NS" get statefulset \
      -l app.kubernetes.io/name=loki,app.kubernetes.io/component=single-binary \
      -o jsonpath='{.items[0].metadata.name}')
    kubectl -n "$NS" scale statefulset/"$STS" --replicas=0
    
  2. Подключите PVC к временному pod и удалите самые старые данные из /var/loki/chunks. Перед удалением проверьте, какие директории занимают место:

    kubectl -n "$NS" run loki-pvc-debug --image=busybox:1.37 --restart=Never \
      --overrides='{"spec":{"containers":[{"name":"debug","image":"busybox:1.37","command":["sleep","1d"],"volumeMounts":[{"name":"storage","mountPath":"/var/loki"}]}],"volumes":[{"name":"storage","persistentVolumeClaim":{"claimName":"<PVC_NAME>"}}]}}'
    
    kubectl -n "$NS" exec -it loki-pvc-debug -- sh
    du -h /var/loki | sort -h | tail -20
    find /var/loki/chunks -type f -mtime +30 -exec rm -f {} \;
    exit
    
  3. Удалите временный pod и запустите Loki:

    kubectl -n "$NS" delete pod loki-pvc-debug
    kubectl -n "$NS" scale statefulset/"$STS" --replicas=1
    kubectl -n "$NS" rollout status statefulset/"$STS"
    

После восстановленияПосле восстановления

Проверьте, что для standalone включены retention и compactor:

spec:
  settings:
    logStorage:
      loki:
        singleBinary:
          enabled: true
          storage:
            size: 50Gi
          limitsConfig:
            retentionPeriod: 30d
          compactor:
            retentionEnabled: true
            retentionDeleteDelay: 2h

Если Loki регулярно заполняет PVC даже с retention, уменьшите loki.singleBinary.limitsConfig.retentionPeriod, увеличьте loki.singleBinary.storage.size, проверьте объем входящих логов и рассмотрите переход на loki.simpleScalable с S3-хранилищем.

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

Предыдущая
Посмотреть логи
Следующая
Создать дашборд
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»