Английский | Китайский
Kubernetes — это система распределённой оркестрации и планирования приложений. Она стала де-факто стандартом для облачных нативных баз приложений, но её официальная стабильная масштабируемость ограничивается 5000 узлами. Это достаточно для большинства сценариев использования, но всё ещё недостаточно для приложений с миллионами машинных узлов. В связи с ростом цифровизации и особенно облачных нативных решений, общая глобальная информационная инфраструктура продолжает расти со скоростью, превышающей текущую. Для систем распределённой оркестрации и планирования приложений есть два способа адаптироваться к этому тренду:
Чтобы масштабировать отдельный кластер, хранение метаданных/состояния является одним из ключевых пунктов масштабирования, а этот проект направлен на решение проблем масштабируемости и производительности хранения состояния кластера.
Мы исследовали некоторые существующие системы распределённого хранения и проанализировали производительность ETCD и использование интерфейсов в Kubernetes для хранения состояния. Благодаря проекту kine был реализован KubeBrain как основное сервисное решение для хранения состояния Kubernetes.### Возможности
Безопасность: KubeBrain представляет собой компонент, который реализует интерфейс сервера хранения, требуемый сервером API. Он выполняет преобразование этого интерфейса и фактически не хранит данные. Актуальные метаданные хранятся в нижележащем хранилище, а данные, необходимые серверу API для мониторинга, хранятся в памяти управляющего узла.
Расширяемость: KubeBrain абстрагирует интерфейс ключ-значение базы данных и реализует интерфейсы, необходимые для хранения API сервера, на этой основе. Все ключ-значение базы данных с указанными характеристиками могут быть адаптированы к этому интерфейсу хранения.
Высокое доступное время: В настоящее время KubeBrain использует архитектуру главного и резервного узлов. Главный узел поддерживает все операции, включая условное обновление, чтение и мониторинг событий. Резервный узел поддерживает операции чтения и автоматически выбирает главный узел на основе "leader election" K8S для обеспечения высокого доступного времени.- Горизонтальное масштабирование: В рабочей среде KubeBrain обычно использует распределённую ключ-значение базу данных для хранения данных. Горизонтальное масштабирование включает два уровня:
Масштабирование## TODO
Обеспечить согласованность в критических случаях
Оптимизировать интерфейс хранения данных
Оптимизировать код юнит-тестов, добавить сценарии использования и тестовые данные ошибок
Реализовать прокси для увеличения масштабируемости
Пожалуйста, проверьте вклад для получения более подробной информации.
Пожалуйста, проверьте код поведения для получения более подробной информации.
Этот проект лицензирован под лицензией Apache-2.0.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )