English | 中文
Системы хранения данных сложны! В настоящее время все больше нативных систем хранения для Kubernetes появляется, а приложения с состоянием переходят в облачный мир, например, современные базы данных и промежуточные серверы. Однако как современные базы данных, так и их поставщики хранилищ пытаются решить некоторые общие проблемы по-своему. Например, они оба работают над репликацией данных и обеспечением согласованности. Это приводит к огромной потере емкости и производительности и требует большего количества усилий по обслуживанию. Кроме того, приложения с состоянием стремятся стать более производительными, устраняя каждую возможную задержку, которая является неизбежной для современных распределённых систем хранения данных. В этом месте появляется Carina.
Carina — это стандартный плагин CSI для Kubernetes. Пользователи могут использовать стандартные ресурсы хранения Kubernetes, такие как StorageClass/PVC/PV, чтобы запросить средства хранения. Основные соображения Carina включают:
Кратко говоря, Carina стремится предоставить крайне низколатентное и бесоперационное решение для хранения данных для облачных баз данных и быть экспертом по хранению данных в эпоху облачных технологий!
Kubernetes: (CSI_VERSION=1.5.0)
Узел ОС: Linux
Файловые системы: ext4, xfs
Если Kubelet работает в контейнеризированном режиме, вам потребуется смонтировать каталог /dev хоста в /dev
Каждый узел в кластере имеет 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 | не поддерживается | не поддерживается | не поддерживается | экспериментальная версия | ещё не выпущено |
Carina создана для облачных приложений с состоянием с высокой производительностью диска и без операционного обслуживания. Carina может сканировать локальные диски и классифицировать их по типам дисков, например, один узел может иметь 10 HDD и 2 SSD. Carina затем группирует их в различные пулы дисков, и пользователи могут запрашивать различные типы дисков с помощью различных StorageClass. Для обеспечения отказоустойчивости данных Carina использует STORCLI для создания RAID групп.
У Carina три компонента: carina-scheduler, carina-controller и carina-node.
$ cd deploy/kubernetes
# установка, по умолчанию установка происходит в kube-system.
$ ./deploy.sh
# удаление
$ ./deploy.sh uninstall
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
* [руководство по установке](docs/manual/install.md)
* [руководство пользователя](docs/user-guide.md)
## Обновление
- Удалите старую версию `./deploy.sh uninstall`, а затем установите новую версию `./deploy.sh` (удаление Carina не повлияет на использование томов).
# Руководство по вкладу
* [руководство по разработке](docs/manual/development.md)
* [локальное выполнение времени выполнения](docs/manual/runtime-container.md)
# Блоги
* [блоги](http://www.opencarina.io/blog)
# План развития
* [план развития](docs/roadmap/roadmap.md)
# Примеры поставщиков хранения
| | NFS/NAS | SAN | Ceph | Carina |
| ---------- | --------| ----| -----| -------|
| типичное использование | общее хранение | высокопроизводительный блочный устройство | экстремально масштабируемое | высокопроизводительный блочный устройство для облачных приложений |
| файловая система | да | да | да | да |
| тип файловой системы | NFS | специфический для драйвера | ext4/xfs | ext4/xfs |
| блочные устройства | нет | да | да | да |
| пропускная способность | стандартная | стандартная | высокая | высокая |
| IOPS | стандартная | высокая | стандартная | высокая |
| задержка | стандартная | низкая | стандартная | низкая |
| поддержка CSI | да | да | да | да |
| моментальные снимки | нет | специфический для драйвера | да | нет |
| клонирование | нет | специфический для драйвера | да | пока нет, скоро |
| квота | нет | да | да | да |
| расширение | да | специфический для драйвера | да | да |
| отказоустойчивость данных | RAID или NAS устройство | да | да | RAID |
| удобство обслуживания | специфический для драйвера | несколько драйверов для нескольких SAN | высокое обслуживание | без обслуживания |
| бюджет | высокий для NAS | высокий | высокий | низкий, используя дополнительные диски в существующем кластере Kubernetes |
| прочее | данные перемещаются вместе с пакетами | данные перемещаются вместе с пакетами | данные перемещаются вместе с пакетами | политика распределения binpack или spreadout<br> данные не перемещаются вместе с пакетами<br> локальное восстановление, если пакет вышел из строя |
# Часто задаваемые вопросы
- [Часто задаваемые вопросы](docs/manual/FAQ.md)
# Аналогичные проекты
* [openebs](https://openebs.io/)
* [topolvm](https://github.com/topolvm/topolvm)
* [csi-driver-host-path](https://github.com/kubernetes-csi/csi-driver-host-path)
* [local-path-provisioner](https://github.com/rancher/local-path-provisioner)
# Известные пользователи
Добро пожаловать, зарегистрируйтесь с именем компании в [ADOPTERS.md](ADOPTERS.md)

# Сообщество
- Для пользователей WeChat

# Лицензия
Carina находится под лицензией Apache 2.0. См. файл [LICENSE](https://github.com/FabEdge/fabedge/blob/main/LICENSE) для подробностей.
# Кодекс поведения
Пожалуйста, обратитесь к нашему [Кодексу поведения сообщества Carina](https://github.com/carina-io/community/blob/main/code-of-conduct.md)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )