Advanced
Тема интерфейса

Обзор

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Контейнерное хранилище

Хранилище контейнеров CCE реализовано на основе Kubernetes container storage APIs (CSI). CCE интегрирует несколько типов облачного хранилища и охватывает различные сценарии применения. CCE полностью совместим с нативными сервисами хранилища Kubernetes, такими как emptyDir, hostPath, secret и ConfigMap.

Рисунок 1 Типы контейнерного хранилища


CCE позволяет pod'ам рабочих нагрузок использовать несколько типов хранилища:

  • С точки зрения реализации, хранилище поддерживает Container Storage Interface (CSI) и нативное хранилище Kubernetes.

    Тип

    Описание

    CSI

    An вне‑дерева добавок к томам, который определяет стандартный API контейнерного хранилища и позволяет поставщикам хранилища использовать стандартные пользовательские плагины хранилища, монтируемые с помощью PVC и PV, без необходимости добавлять исходный код их плагина в репозиторий Kubernetes для единой сборки, компиляции и выпуска. CSI рекомендуется в Kubernetes 1.13 и более поздних версиях.

    Нативное хранилище Kubernetes

    Встроенный "in-tree" добавок к томам, который собирается, компилируется и выпускается вместе с репозиторием Kubernetes.

  • С точки зрения носителей хранилища, хранилище может классифицироваться как облачное хранилище, локальное хранилище и объекты ресурсов Kubernetes.

    Тип

    Описание

    Сценарий применения

    Облачное хранилище

    Носитель хранилища предоставляется поставщиками хранилища. Тома хранилища этого типа монтируются с помощью PVC и PV.

    Данные требуют высокой доступности или должны быть общими, например, логи и медиа‑ресурсы.

    Выберите подходящий тип облачного хранилища в зависимости от сценария применения. Подробнее см. Сравнение облачного хранилища.

    Локальное хранилище

    Носителем хранилища является локальный диск данных или память узла. Локальный PV — это пользовательский тип хранилища, предоставляемый CCE и монтируемый с помощью PVC и PV через CSI. Другие типы хранилища — нативное хранилище Kubernetes.

    Данные без высокой доступности требуют высокой пропускной способности ввода‑вывода и низкой задержки.

    Выберите подходящий тип локального хранилища в зависимости от сценария применения. Подробнее см. Сравнение локального хранилища.

    Объекты ресурсов Kubernetes

    ConfigMap и secret — это ресурсы, создаваемые в кластерах. Они являются специальными типами хранилища и предоставляются с помощью tmpfs (файловой системы на основе ОЗУ) на сервере API Kubernetes.

    ConfigMap используется для внедрения конфигурационных данных в pod'ы.

    Secret используется для передачи конфиденциальной информации, такой как пароли, в pod'ы.

Сравнение облачного хранилища

Элемент

EVS

SFS

SFS Turbo

OBS

Определение

EVS предлагает масштабируемое блочное хранилище для облачных серверов. Обладая высокой надёжностью, высокой производительностью и богатыми характеристиками, диски EVS могут использоваться для распределённых файловых систем, сред разработки/тестирования, хранилищ данных и приложений высокопроизводительных вычислений (HPC).

SFS, расширяемый до петабайт, предоставляет полностью управляемое совместное файловое хранилище, обладающее высокой доступностью и стабильностью для обработки данных и приложений с интенсивным использованием пропускной способности в HPC, обработке медиа, совместном использовании файлов, управлении контентом и веб‑сервисах.

SFS Turbo, расширяемый до 320 ТБ, предоставляет полностью управляемое совместное файловое хранилище с высокой доступностью и стабильностью, поддерживая небольшие файлы и приложения, требующие низкой задержки и высокой производительности IOPS. SFS Turbo можно использовать на веб‑сайтах с высоким трафиком, для хранения логов, сжатия/разжатия, DevOps, корпоративных OA и контейнеризованных приложений.

Object Storage Service (OBS) предоставляет масштабируемое, безопасное и экономичное хранилище данных для хранения данных любого типа и размера. Его можно использовать в корпоративных резервных копиях/архивировании, видео по запросу (VoD), видеонаблюдении и многих других сценариях.

Логика хранения данных

Хранит двоичные данные и не может напрямую хранить файлы. Для хранения файлов сначала отформатируйте файловую систему.

Хранит файлы и сортирует, отображает данные в иерархии файлов и папок.

Хранит файлы и сортирует, отображает данные в иерархии файлов и папок.

Хранит объекты. Файлы, хранящиеся напрямую, автоматически генерируют системные метаданные, которые также могут быть настроены пользователями.

Режим доступа

Доступно только после монтирования к ECS и инициализации.

Монтируется к ECS с использованием сетевых протоколов. Необходимо указать сетевой адрес или сопоставить его с локальной директорией для доступа.

Поддерживает протокол Network File System (NFS) (только NFSv3). Вы можете бесшовно интегрировать существующие приложения и инструменты с SFS Turbo.

Доступно через Интернет или Direct Connect (DC). Укажите адрес бакета и используйте протоколы передачи, такие как HTTP или HTTPS.

Статические тома хранилища

Динамические тома хранилища

Поддерживается. Подробнее см. Использование диска EVS через динамический PV.

Не поддерживается

Поддерживается. Подробнее см. Использование бакета OBS через динамический PV.

Функции

Нешарируемое хранилище. Каждый том может быть примонтирован только к одному узлу.

Общее хранилище с высокой производительностью и пропускной способностью

Общее хранилище с высокой производительностью и пропускной способностью

Общая файловая система пользовательского режима

Сценарии применения

HPC, enterprise core cluster applications, enterprise application systems и dev/test

ПРИМЕЧАНИЕ:

Для HPC‑приложений здесь требуется высокоскоростное и high‑IOPS хранилище, например, в промышленном дизайне и энергетических исследованиях.

HPC, обработка медиа, управление контентом, веб‑сервисы, big data и аналитические приложения

ПРИМЕЧАНИЕ:

Для HPC‑приложений здесь требуется высокая пропускная способность и общее файловое хранилище, например, секвенирование генов и рендеринг изображений.

Веб‑сайты с высоким трафиком, хранение журналов, DevOps и enterprise OA

Аналитика big data, статический хостинг веб‑сайтов, онлайн‑видеопоток по запросу (VoD), секвенирование генов, интеллектуальное видеонаблюдение, резервное копирование и архивирование, и enterprise cloud boxes (web disks)

Емкость

TB

SFS 1.0: PB

Общее назначение: TB

EB

Задержка

1–2 ms

SFS 1.0: 3–20 ms

Общее назначение: 1–5 ms

10 ms

Макс. IOPS

2200–256000, в зависимости от флейворов

SFS 1.0: 2000

Общее назначение: до 100 000

Десятки миллионов

Пропускная способность

MB/s

SFS 1.0: GB/s

Общее назначение: до GB/s

TB/s

Сравнение локального хранилища

Элемент

Локальный PV

Локальный эфемерный том

emptyDir

hostPath

Определение

Локальные диски узла образуют пул хранилища (VolumeGroup) через LVM. LVM делит их на логические тома (LV) и монтирует их к pod'ам.

Kubernetes native emptyDir, где локальные диски узла образуют пул хранилища (VolumeGroup) через LVM. LV создаются в качестве средства хранения emptyDir и монтируются к pod'ам. LV обеспечивают лучшую производительность, чем средство хранения по умолчанию для emptyDir.

Kubernetes native emptyDir. Его жизненный цикл такой же, как у pod. Память может быть указана как средство хранения. При удалении pod пустой том emptyDir удаляется, и его данные теряются.

Используется для монтирования каталога файлов хоста, где расположен pod, в указанную точку монтирования pod.

Функции

Низкая задержка, high‑I/O и non‑HA PV.

Тома хранилища являются нешарируемыми и привязаны к узлам через метки. Поэтому тома хранилища могут быть примонтированы только к одному pod.

Локальный эфемерный том. Объём хранилища берётся из локальных LV.

Локальный эфемерный том. Объём хранилища берётся из локального корневого каталога kubelet или памяти.

Используется для монтирования файлов или каталогов файловой системы хоста. Каталоги хоста могут создаваться автоматически. Pod'ы могут мигрировать (не привязаны к узлам).

Монтирование тома хранилища

Статические тома хранилища не поддерживаются.

Для получения подробной информации см. Local EV.

Для получения подробной информации см. Временный путь.

Для получения подробной информации см. hostPath.

Сценарии применения

Требования к высокому I/O и встроенные HA-решения приложений, например, развёртывание MySQL в HA‑режиме.

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

Требуется файл узла, например, если используется Docker, можно использовать hostPath для монтирования /var/lib/docker путь узла.

ВНИМАНИЕ:

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

Enterprise Project Support

Note

Для использования этой функции дополнение Everest должно быть обновлено до версии v1.2.33 или новее.

  • Автоматическое создание хранилища:

    При создании PVC EVS или OBS с использованием StorageClass в CCE можно указать enterprise project для назначения созданных ресурсов хранилища (диски EVS и OBS). Этот enterprise project может быть либо проектом по умолчанию, либо тем же, к которому относится кластер.

    Если enterprise project не указан, enterprise project, указанный в StorageClass, будет использоваться по умолчанию для создания ресурсов хранилища.

    • Для пользовательского StorageClass можно указать enterprise project в StorageClass. Для получения подробной информации см. Сценарий 3: Указание Enterprise Project для StorageClass. Если enterprise project не указан в StorageClass, используется enterprise project по умолчанию.
    • Для классов хранилища csi-disk и csi-obs, предоставляемых CCE, созданные ресурсы хранилища принадлежат enterprise project по умолчанию.

  • Использовать существующее хранилище:

    При создании PVC с использованием PV, убедитесь, что everest.io/enterprise-project-id указанные в PVC и PV одинаковы, потому что во время создания ресурса хранилища был указан enterprise project. В противном случае PVC и PV не могут быть привязаны.

Документация