1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bocloud-open-source-carina

Клонировать/Скачать
README_zh.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 28.02.2025 15:57 57a69e0

Карина

Лицензия

Русский | English

Карина — это плагин хранения, реализованный в соответствии с стандартами Kubernetes CSI. Пользователи могут использовать стандартные примитивы хранения storageClass/PVC/PV для запроса хранилищ, предоставляемых Кариной; Карина состоит из трёх основных компонентов: carina-scheduler, carina-controller и carina-node, все они запускаются в виде контейнеров в Kubernetes и используют минимальное количество ресурсов. Карина представляет собой решение локального хранения для баз данных, которое управляет локальными дисками и создаёт различные пулы ресурсов в зависимости от типа диска, обеспечивая высокую производительность локальных хранилищ для баз данных и других приложений.

Карина стремится предоставлять высокопроизводительные системы хранения без обслуживания для облачных баз данных и стать экспертом DBA в области хранения для облачных баз данных!

Поддерживаемые среды

  • Kubernetes: (CSI_VERSION=1.5.0)

  • Операционная система узла: Linux

  • Файловые системы: ext4, xfs

  • Если kubelet работает в контейнеризированной форме, требуется монтирование каталога /dev хоста в /dev.

  • На каждом узле в кластере должно быть OnClickListener 1..N незанятых блочных устройств, поддерживаются SSD и HDD (можно использовать команду lsblk --output NAME,ROTA для проверки типа диска, ROTA=1 указывает на HDD, ROTA=0 указывает на SSD).

  • Емкость одного незанятого блочного устройства должна превышать 10 ГБ.

  • Если сервер не поддерживает модуль ядра bcache, см. раздел Часто задаваемые вопросы для изменения конфигурационных YAML.

Поддерживаемые версии карины

Kubernetes v0.9 v0.9.1 v0.10 v0.11.0 v1.0
>=1.18 поддерживается поддерживается поддерживается поддерживается не выпущена
>=1.25 не поддерживается не поддерживается не поддерживается экспериментальная не выпущена

Общий архитектурный дизайн

карина-арх

Как показано на вышестоящей схеме, Карина автоматически обнаруживает локальные незанятые диски и делит их на группы дисков HDD и SSD в зависимости от характеристик диска. Для обеспечения высокой доступности данных на уровне узла Карина предлагает функцию кэширования диска на основе bcache и автоматическое создание RAID.

  • carina-node — это агент, работающий на каждом узле, который использует технологию LVM для управления локальными дисками, распределяет локальные диски по различным группам VG в зависимости от категории и предоставляет LV для использования Pod.
  • carina-scheduler — это плагин планировщика Kubernetes, который отвечает за правильное планирование на основе размера заявленного PV, свободного места на дисках узлов и нагрузки на узел. По умолчанию предлагается два стратегии планирования: spreadout и binpack.
  • carina-controller — это плоскость управления Кариной, которая слушает ресурсы PVC и поддерживает отношения между PVC и LV.

Список функций

Быстрый старт

  • Быстрая установка

Используя shell

  • Этот способ установки использует тег latest для образа. Чтобы установить конкретную версию Карины, нужно изменить адрес образа.
$ cd deploy/kubernetes
# Установка, по умолчанию в kube-system
$ ./deploy.sh

# Удаление
$ ./deploy.sh uninstall

Используя Helm3

  • Поддерживает установку конкретной версии Карины
helm repo add carina-csi-driver https://carina-io.github.io

helm search repo -l carina-csi-driver

helm install carina-csi-driver carina-csi-driver/carina-csi-driver --namespace kube-system --version v0.11.0

Обновление Карины

  • Сначала выполните удаление старой версии ./deploy.sh uninstall, затем установите новую версию ./deploy.sh. Удаление Карины не повлияет на использование существующих томов хранения.

Разработчики

Блоги

Программа развития

Сравнение с другими решениями хранения| | NFS/NAS | SAN | Ceph | Карина |

| ---------- | -------- | ---- | ------ | ----------| | Дизайн сценария | Общие сценарии хранения | Высокопроизводительные блочные устройства | Общие сценарии хранения с акцентом на масштабируемость | Высокопроизводительные блочные устройства для облачных баз данных | | Хранение файлов | Поддерживается | Поддерживается | Поддерживается | Поддерживается | | Хранение блока | Неподдерживаемое | Варьируется в зависимости от драйвера | Поддерживается | Поддерживается | | Файловые системы | Неподдерживаемое форматирование | Варьируется в зависимости от драйвера | Поддерживается ext4/xfs и другие | Поддерживается ext4/xfs и другие | | Ширина полосы | Низкая/средняя | Средняя | Высокая | Высокая | | IOPS | Низкие/средние | Высокие | Средние | Высокие | | Ответ время | Низкие/средние | Низкие | Низкие | Низкие | | Поддержка CSI | Поддерживается | Поддерживается | Поддерживается | Поддерживается | | Снимки | Неподдерживаемое | Варьируется в зависимости от драйвера | Поддерживается | Неподдерживаемое | | Клонирование | Неподдерживаемое | Варьируется в зависимости от драйвера | Поддерживается | Неподдерживаемое | | Распределение | Неподдерживаемое | Поддерживается | Поддерживается | Поддерживается | | Экспансия | Поддерживается | Поддерживается | Поддерживается | Поддерживается | | Высокая доступность данных | Зависит от RAID или NAS оборудования | Поддерживается | Поддерживается | Зависит от RAID | | Поддержка обслуживания | | Разные SAN требуют разных драйверов, высокий уровень затрат на обслуживание | Комплексная архитектура, требует специалиста по обслуживанию | Высокая | | Стоимость | Сервер NFS или NAS оборудование, высокая стоимость | SAN оборудование, клиентская конфигурация HBA карты, высокая стоимость | Специализированный кластер хранения, клиентская конфигурация сетевых карт хранения, высокая стоимость | Локальные диски, остающиеся в K8s кластере, низкая стоимость | | Другие характеристики | Данные следуют после перемещения контейнера | Данные следуют после перемещения контейнера | Поддерживает объектное хранение, данные следуют после перемещения контейнера | Поддерживает стратегии планирования binpack/spreadout
Для состоятельных контейнеров, поддерживает восстановление на месте и восстановление
После перемещения контейнера, данные не следуют, требуется реализация уровня приложения для восстановления данных |

Аналогичные проекты хранения

Часто задаваемые вопросы

Сообщество

  • Сканирование QR-кода WeChat для входа в сообщественные группы обсуждения

карина-wx

Лицензия

Карина находится под лицензией Apache 2.0. Подробнее см. файл LICENSE.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/bocloud-open-source-carina.git
git@api.gitlife.ru:oschina-mirror/bocloud-open-source-carina.git
oschina-mirror
bocloud-open-source-carina
bocloud-open-source-carina
main