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

OSCHINA-MIRROR/kubewharf-kubebrain

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

KubeBrain

Английский | Китайский

Обзор

Kubernetes — это система распределённой оркестрации и планирования приложений. Она стала де-факто стандартом для облачных нативных баз приложений, но её официальная стабильная масштабируемость ограничивается 5000 узлами. Это достаточно для большинства сценариев использования, но всё ещё недостаточно для приложений с миллионами машинных узлов. В связи с ростом цифровизации и особенно облачных нативных решений, общая глобальная информационная инфраструктура продолжает расти со скоростью, превышающей текущую. Для систем распределённой оркестрации и планирования приложений есть два способа адаптироваться к этому тренду:

  • Горизонтальное масштабирование: создание возможности управления N кластерами.
  • Вертикальное масштабирование: увеличение размера отдельных кластеров.

Чтобы масштабировать отдельный кластер, хранение метаданных/состояния является одним из ключевых пунктов масштабирования, а этот проект направлен на решение проблем масштабируемости и производительности хранения состояния кластера.

Мы исследовали некоторые существующие системы распределённого хранения и проанализировали производительность ETCD и использование интерфейсов в Kubernetes для хранения состояния. Благодаря проекту kine был реализован KubeBrain как основное сервисное решение для хранения состояния Kubernetes.### Возможности

  • Безопасность: KubeBrain представляет собой компонент, который реализует интерфейс сервера хранения, требуемый сервером API. Он выполняет преобразование этого интерфейса и фактически не хранит данные. Актуальные метаданные хранятся в нижележащем хранилище, а данные, необходимые серверу API для мониторинга, хранятся в памяти управляющего узла.

  • Расширяемость: KubeBrain абстрагирует интерфейс ключ-значение базы данных и реализует интерфейсы, необходимые для хранения API сервера, на этой основе. Все ключ-значение базы данных с указанными характеристиками могут быть адаптированы к этому интерфейсу хранения.

  • Высокое доступное время: В настоящее время KubeBrain использует архитектуру главного и резервного узлов. Главный узел поддерживает все операции, включая условное обновление, чтение и мониторинг событий. Резервный узел поддерживает операции чтения и автоматически выбирает главный узел на основе "leader election" K8S для обеспечения высокого доступного времени.- Горизонтальное масштабирование: В рабочей среде KubeBrain обычно использует распределённую ключ-значение базу данных для хранения данных. Горизонтальное масштабирование включает два уровня:

    • На уровне KubeBrain, производительность параллельного чтения может быть увеличена за счёт добавления узлов-резервов;
    • На уровне системы хранения, производительность чтения и записи и ёмкость хранения могут быть увеличены за счёт добавления узлов хранения.### Подробная документация
  • Быстрый старт

  • Архитектура

  • Абстракция хранилища данных

  • Масштабирование## TODO

  • Обеспечить согласованность в критических случаях

  • Оптимизировать интерфейс хранения данных

  • Оптимизировать код юнит-тестов, добавить сценарии использования и тестовые данные ошибок

  • Тест Jepsen

  • Реализовать прокси для увеличения масштабируемости

Вклад

Пожалуйста, проверьте вклад для получения более подробной информации.

Код поведения

Пожалуйста, проверьте код поведения для получения более подробной информации.

Сообщество

Лицензия

Этот проект лицензирован под лицензией Apache-2.0.

Комментарии ( 0 )

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

Введение

Высокопроизводительная система метаданных для Kubernetes. Развернуть Свернуть
Go и 4 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/kubewharf-kubebrain.git
git@api.gitlife.ru:oschina-mirror/kubewharf-kubebrain.git
oschina-mirror
kubewharf-kubebrain
kubewharf-kubebrain
main