Виртуальные кластеры — это полнофункциональные кластеры Kubernetes, вложенные в физический кластер хостов, обеспечивающие лучшую изоляцию и гибкость для поддержки мультитенантности. Несколько команд могут работать независимо в одной и той же физической инфраструктуре, сводя к минимуму конфликты, максимизируя автономию и сокращая затраты.
Виртуальные кластеры работают внутри пространств имен хост-кластеров, но функционируют как отдельные кластеры Kubernetes со своим собственным сервером API, плоскостью управления, синхронизатором и набором ресурсов. Хотя виртуальные кластеры совместно используют физические ресурсы хост-кластера (такие как ЦП, память и хранилище), они управляют своими ресурсами независимо, что обеспечивает эффективное использование и масштабирование.
Виртуальные кластеры взаимодействуют с кластером хостов для планирования ресурсов и работы в сети, но поддерживают уровень абстракции, чтобы гарантировать, что операции внутри виртуального кластера не влияют напрямую на глобальное состояние кластера хостов.
⭐️ Любишь vcluster? Поддержите проект звездочкой ⭐️
Виртуальные кластеры предоставляют огромные преимущества для крупномасштабных развертываний Kubernetes и мультитенантности.
Детализированные разрешения: пользователи vCluster работают с минимальными разрешениями в кластере хостов, что значительно снижает риск неправильного использования привилегированного доступа. В своем vCluster пользователи имеют контроль на уровне администратора, что позволяет им независимо управлять CRD, RBAC и другими политиками безопасности.
Изолированная плоскость управления. Каждый виртуальный кластер имеет собственный выделенный сервер API и плоскость управления, что создает надежную границу изоляции.
Настраиваемые политики безопасности. Арендаторы могут реализовать дополнительное управление, специфичное для vCluster, включая политики OPA, сетевые политики, квоты ресурсов, диапазоны ограничений и контроль доступа, в дополнение к существующим политикам и мерам безопасности в базовом физическом кластере хостов.
Улучшенная защита данных. Благодаря возможности использования отдельных резервных хранилищ, включая встроенный SQLite, etcd или внешние базы данных, виртуальные кластеры позволяют изолированно управлять данными, снижая риск утечки данных между арендаторами.
Полный доступ администратора для каждого арендатора. Арендаторы могут свободно развертывать CRD, создавать пространства имен, изменять и маркировать узлы, а также управлять ресурсами кластера, которые обычно ограничены стандартными пространствами имен Kubernetes.
Изолированная, но интегрированная сеть. Обеспечивая автоматическую изоляцию (например, модули в разных виртуальных кластерах не могут обмениваться данными по умолчанию), vCluster позволяет настраивать сетевые политики и совместное использование служб, поддерживая как разделение, так и совместное использование по мере необходимости.
Управление узлами: назначайте статические узлы конкретным виртуальным кластерам или делите пулы узлов между несколькими виртуальными кластерами, обеспечивая гибкость в распределении ресурсов.
Легкая инфраструктура. Виртуальные кластеры значительно легче физических кластеров и могут разворачиваться за секунды, что резко контрастирует с длительным временем подготовки, часто наблюдаемым в таких средах, как EKS (~ 45 минут).
Эффективность ресурсов. Путем совместного использования ресурсов базового хост-кластера виртуальные кластеры сводят к минимуму потребность в дополнительной физической инфраструктуре, сокращая затраты и воздействие на окружающую среду.
Упрощенное управление. Плоскость управления vCluster, работающая внутри одного модуля, вместе с дополнительным встроенным CoreDNS сводит к минимуму эксплуатационные накладные расходы, что делает виртуальные кластеры особенно подходящими для крупномасштабных развертываний и сценариев с несколькими арендаторами.
Разнообразные среды Kubernetes: vCluster поддерживает различные версии и дистрибутивы Kubernetes (включая K8, K3 и K0), что допускает неравномерность версий. Это позволяет адаптировать каждый виртуальный кластер к конкретным требованиям, не затрагивая другие.
Адаптируемые резервные хранилища: выбирайте из множества хранилищ данных, от облегченных (SQLite) до вариантов корпоративного уровня (встроенный etcd, внешние хранилища данных, такие как Global RDS), отвечающих различным потребностям в масштабируемости и надежности.
Работает где угодно. Виртуальные кластеры могут работать на EKS, GKE, AKS, OpenShift, RKE, K3s, в облаке, на периферии и локально. Если это кластер K8s, поверх него можно запустить виртуальный кластер.
Снижение нагрузки на сервер API. Виртуальные кластеры, каждый из которых имеет собственный выделенный сервер API, значительно снижают рабочую нагрузку на сервер API Kubernetes хост-кластера за счет внутренней изоляции и обработки запросов.
Бесконфликтное управление CRD. Независимое управление CRD в каждом виртуальном кластере исключает вероятность конфликтов CRD и несоответствий версий, обеспечивая более плавную работу и упрощенное масштабирование по мере расширения базы пользователей.
Расширьте возможности разработчиков с помощью Kubernetes с самообслуживанием: упростите доступ к Kubernetes для разработчиков с помощью виртуальных кластеров самообслуживания, сокращая количество человеческих ошибок и повышая автономность разработчиков без ущерба для требований безопасности и соответствия требованиям.
Ускорьте CI/CD с помощью эфемерных кластеров Kubernetes. Мгновенно создавайте чистые новые виртуальные кластеры Kubernetes для каждого запроса на включение, обеспечивая быстрое изолированное тестирование и предварительный просмотр PR без времени ожидания и проблем в общей тестовой среде.
Повысьте качество своего предложения независимого поставщика программного обеспечения с помощью выделенного кластера для каждого клиента. Размещайте каждого клиента в виртуальном кластере со строгой изоляцией клиентов и плавной масштабируемостью, одновременно объединяя основные инструменты в единый стек платформы, обслуживающий нескольких клиентов.
Создайте управляемый сервис Kubernetes с лучшими в своем классе показателями себестоимости и высокой рентабельностью: обеспечьте прямой доступ клиентов к выделенным виртуальным кластерам Kubernetes, оптимизируя распределение узлов и ресурсов для достижения лучшей в отрасли эффективности и беспрецедентной масштабируемости.
Обратитесь к нашему краткому руководству по развертыванию вашего первого vCluster!
Благодарим вас за интерес к участию! Пожалуйста, обратитесь к CONTRIBUTING.md за инструкциями.
Лицензируется по лицензии Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. Лицензию для определения конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.