Архитектура
Содержание
Техническая архитектура

На рисунке выше показаны примерные приложения для трёх поддерживаемых типов хранилищ:
- Блочное хранилище представлено синим приложением, к которому подключён том с режимом ReadWriteOnce (RWO). Приложение может читать и записывать данные в том RWO, при этом Ceph управляет вводом-выводом.
- Общая файловая система представлена двумя фиолетовыми приложениями, которые совместно используют том с режимом ReadWriteMany (RWX). Оба приложения могут одновременно активно читать и записывать данные в том. Ceph обеспечивает безопасную защиту данных для нескольких писателей с помощью демона MDS.
- Объектное хранилище представлено оранжевым приложением, которое может читать и записывать данные в бакет с помощью стандартного S3 клиента.
Ниже пунктирной линии на диаграмме компоненты разделены на три категории:
- Rook operator (синий слой): оператор автоматизирует конфигурацию Ceph
- CSI plugins and provisioners (оранжевый слой): драйвер Ceph-CSI обеспечивает создание и монтирование томов
- Ceph daemons (красный слой): демоны Ceph запускают основную архитектуру хранилища. Подробнее о каждом демоне см. в Глоссарии.
Блочное хранилище
На диаграмме выше процесс создания приложения с томом RWO следующий:
- (Синее) приложение создаёт PVC для запроса хранилища.
- PVC определяет класс хранения Ceph RBD (sc) для создания хранилища.
- K8s вызывает provisioner Ceph-CSI RBD для создания образа Ceph RBD.
- kubelet вызывает CSI плагин RBD для монтирования тома в приложении.
- Том становится доступен для чтения и записи.
- Том ReadWriteOnce может быть смонтирован только на одном узле одновременно.
Общая файловая система
На диаграмме выше процесс создания приложений с томом RWX следующий:
- (Фиолетовое) приложение создаёт PVC для запроса хранилища.
- PVC определяет класс хранения CephFS (sc) для создания хранилища.
- K8s вызывает provisioner Ceph-CSI CephFS для создания подтома CephFS.
- kubelet вызывает CSI плагин CephFS для монтирования тома в приложении.
- Том становится доступен для чтения и записи.
- Том ReadWriteMany может быть смонтирован на нескольких узлах для использования приложением.
Объектное хранилище S3
На диаграмме выше процесс создания приложения с доступом к бакету S3 следующий:
- (Оранжевое) приложение создаёт BucketClaim для запроса бакета.
- Драйвер Ceph COSI создаёт бакет Ceph RGW.
- Драйвер Ceph COSI создаёт секрет с учётными данными для доступа к бакету.
- Приложение получает учётные данные из секрета.
- Приложение теперь может читать и записывать данные в бакет с помощью S3 клиента.