• Русский
  • Архитектура

    Содержание

    Техническая архитектура

    На рисунке выше показаны примерные приложения для трёх поддерживаемых типов хранилищ:

    • Блочное хранилище представлено синим приложением, к которому подключён том с режимом 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 клиента.