Что происходит, когда требование объема постоянства превышает хранилище? - PullRequest
0 голосов
/ 08 ноября 2019

Я смотрел на это, но не чувствую, что ответ покрыт: Объем персистентности kubernetes и заявка на объем персистентности превысили объем хранилища

В любом случае, я пытался найти вдокументация, но не удалось выяснить, что произойдет, когда диск PVC Azure будет заполнен? Итак, у нас есть приложение grafana, которое отслеживает некоторые данные. Мы используем PVC, чтобы гарантировать, что данные будут сохранены, если модуль будет уничтожен. Прямо сейчас модуль непрерывно выбирает данные, а диск становится все более и более полным. Что происходит, когда диск заполнен? В идеале было бы неплохо реализовать какую-то функциональность, чтобы при заполнении на 80% он удалял, скажем, 20% данных, начиная, например, с самых старых. Или как мы решаем эту проблему?

ПВХ:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: graphite-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: managed-premium
  resources:
    requests:
      storage: 256Gi

1 Ответ

2 голосов
/ 08 ноября 2019

Думайте о PVC как о папке, которая монтируется в ваш контейнер, на котором работает служба grafana. Он имеет фиксированный размер, который вы указали, и в соответствии с вопросом, он не собирается увеличиваться.

Что происходит, когда диск заполнен?

Ничто не отличается от обычной службы, работающей в системе и работающей изсистемы. Если бы это была ваша локальная машина или облачная виртуальная машина, вы бы получили предупреждение о хранилище, и если вы не предпримете никаких действий, служба выдаст ошибку, сказав out of disk space error Теперь вы можете использовать такие службы, как Prometheus с плагином Kubernetes, чтобы получать оповещения о пространстве хранения, нопо умолчанию Kubernetes не будет предоставлять никаких предупреждений.

ref - https://kubernetes.io/docs/tasks/debug-application-cluster/resource-usage-monitoring/#full-metrics-pipeline

как мы решаем эту проблему (дисковое пространство)?

Опять-таки, как и в обычной системе, существует ряд решений. Но если вы подумаете об этом, то система, виртуальная машина или Kubernetes не являются подходящим кандидатом для решения, какие файлы следует удалить, а какие следует сохранить. Причина в том, что kubernetes не знает, что это за данные, и фактически не владеет ими. данные. Сервис делает. С другой стороны, вы можете использовать эту службу или создать новую специальную службу архивации, чтобы брать данные из вашего Grafana PVC и помещать его в S3 или любое другое хранилище.

...