Статьи

Хранение с Kubernetes

Хранилище — это общая потребность приложений. Они нужны для хранения файлов журналов, файлов конфигурации, артефактов, мультимедиа и многого другого. Когда приложения запускаются на веб-сервере, они используют дисковое пространство на сервере для хранения этих файлов. Однако, когда они запускаются в контейнере, распределение дискового пространства не так просто. Есть несколько соображений при создании стратегии для контейнерных объемов:

  • Файлы на диске в контейнере могут быть эфемерными.
  • Контейнер перезапускается, теряя все файлы, которые у него есть.
  • Файлы необходимы для совместного использования между контейнерами.
  • Файлы могут быть необходимы по истечении срока службы стручков.

Одним из преимуществ использования Kubernetes для управления контейнерами является то, что он предоставляет несколько вариантов для удовлетворения различных потребностей в хранении.

тома

Том Kubernetes — это каталог на диске, поддерживаемый некоторыми носителями. Этот том доступен для всех контейнеров, работающих внутри контейнера. В спецификации Pod указывается, какой тип тома должен быть подготовлен и где его монтировать. Тип тома указывается путем выбора одного из множества типов томов, которые предоставляет Kubernetes. Вот некоторые из них:

  • AWS EBS
  • Azure Disk
  • Ceph файловая система
  • ConfigMap
  • emptyDir
  • местный
  • NFS
  • persistentVolumeClaim
  • секрет

emptyDir

Этот тип тома создается, когда Pod запланирован на узле. Этот объем только для жизни стручка. Он удаляется, как только модуль завершается. Все контейнеры внутри Pod разделяют этот объем. Вариант использования для такого тома может заключаться в том, чтобы использовать его как временное пространство для внутренней работы приложений или использовать в качестве кэша для повышения производительности приложений. Смотрите ниже спецификации стручка:


YAML