Виртуальные кластеры Kubernetes (VCLUSTERS) могут вывести Kubernetes на следующий уровень. Они работают в физическом кластере Kubernetes и могут использоваться так же, как и обычные кластеры, но все же являются просто виртуальной конструкцией. (Узнайте больше о Как здесь работают виртуальные кластеры ) Подобно виртуальным машинам, которые произвели революцию в использовании физических серверов, кластеры виртуальных Kubernetes имеют некоторые преимущества по сравнению с физическими кластерами, что делает их особенно полезными для некоторых сценариев.
В этой статье я опишу преимущества виртуальных кластеров Kubernetes и предоставлю некоторые варианты использования, в которых Vclusters выгодны для других решений, таких как многие отдельные кластеры или многоцелевое пространство имен.
Преимущества кластеров виртуальных Kubernetes
Преимущества виртуальных кластеров для Kubernetes в основном основаны на двух характеристиках: обмен физическим кластером и изоляцией.
Обмен кластерами/многоцелевой
Поскольку Vclusters являются виртуальной абстракцией в Kubernetes, можно запустить многие Vclusters только на одном физическом кластере, который имеет следующие преимущества:
- Снижение усилий по управлению. Поскольку существует только один физический кластер для поддержания, административные усилия значительно снижаются виртуальными кластерами. Это становится особенно ясным при сравнении его с другой альтернативой, которая приведет к аналогичному исходу с точки зрения пользователя: вместо запуска виртуальных кластеров в одном физическом кластере можно запускать много физических кластеров, которые должны сохраняться, которые могут стать, которые могут стать Независимо довольно быстро даже в командах среднего размера. Кроме того, физический кластер может быть настроен довольно «базовым» без обширных дополнительных установок, так как большая часть этого произойдет на уровне vcluster.
- Снижение стоимости. Помимо сокращения усилий по управлению, которые также приводят к снижению затрат, виртуальные кластеры также более эффективны в использовании вычислительных ресурсов, поскольку ресурсы разделяются арендаторами. Опять же, аналогичные улучшения эффективности были получены за счет введения виртуальных машин в инфраструктуру физического сервера. Эта экономическая эффективность дополнительно повышается по одноразовым характеру виртуального кластера, поэтому их можно «отбросить» (отключить), когда они не нужны. В качестве альтернативы, их можно «усыпить» (масштабирован), процесс, который может быть даже автоматизирован, например, с спящим режимом, который предоставляется такими решениями, как Лофт Анкет
Изоляция/твердое многоцелевое
Поскольку виртуальные кластеры Kubernetes обеспечивают более сложную форму многоцелевого пособия, то есть пользователи строго изолированы друг от друга, они имеют некоторые дополнительные преимущества, особенно по сравнению с многоцелевым подходом, основанным на именах:
- Стабильная система. Использование кластеров Virtual Kubernetes не ставит под угрозу стабильность системы. Даже если виртуальный кластер не работает, на это обычно не влияет лежащий физический кластер. (Только в некоторых крайних случаях отказ виртуального кластера приведет к сбое физического кластера, что снова похоже на виртуальную машину, которая редко может привести к разрыву в основной физической машине.) Это независимо от источника ошибки, которая может исходить из кластера, например, Инженер случайно что -то ломает или снаружи, например, Злоугодная атака на систему. Это делает всю систему более устойчивой и помогает реализовать разумную архитектуру микросервиса с истинным разделением проблем для отдельных услуг.
- Полная гибкость. В то время как каждый инженер работает или каждый микросервис работает в одном физическом кластере, их виртуальные кластеры полностью независимы. Это позволяет Vclusters также настроен по -разному. Например, виртуальные кластеры могут иметь разные версии Kubernetes или различные конфигурации сервера API. Это снова позволяет инженерам свободно работать и использовать все, что лучше всего для их использования, без необходимости рассмотреть другие требования или основной физический кластер Kubernetes.
В целом, Virtual Kubernetes Clusters являются единственным подходом к сочетанию эффективности со стабильной, гибкой системой из-за его твердой мультицентрости с ресурсами Kubernetes Con-Com. Альтернатива использования многих отдельных кластеров способна только решить проблему изоляции, но создает огромное бремя затрат, в то время как подход мягкого мульти-десятилетия на основе имен сохраняет разумную стоимость, но может обеспечить только ограниченную стабильность и гибкость. Таким образом, виртуальные кластеры являются единственным вариантом для компаний, которые хотят иметь лучшие из двух миров.
Сценарии использования
Поскольку виртуальные кластеры в основном ведут себя как обычные кластеры Kubernetes, их объем применения аналогично широко. Для этого я сосредоточусь на трех основных вариантах использования, которые плохо покрываются альтернативными решениями с пространствами имен или множеством физических кластеров.
CI/CD и тестирование
Требования: Для сценариев CI/CD и тестирования в среде Kubernetes инженеры должны иметь доступ к Kubernetes всякий раз, когда им это нужно. Чтобы поддерживать низкую стоимость, среда должна работать только в том случае, если она фактически используется. Инженеры также должны иметь возможность изменить конфигурацию Kubernetes, чтобы получить более реалистичные тесты.
Проблема: Создание кластера Kubernetes занимает некоторое время, даже в публичных облаках. Поскольку вычислительные ресурсы являются дорогостоящими, а многие трубопроводы CI/CD выставляются счета с минус, часто невозможно ждать 30 минут, пока не будет запущен кластер. Это также замедлит петлю обратной связи для действий инженера и прерывает их рабочий процесс. Следовательно, инженеры часто используют кластер для тестирования, что снова может привести к времени ожидания, если коллега использует его одновременно. Он также сильно неэффективен, так как такой кластер всегда работает и стоит денег, даже если никаких тестов или трубопроводов не выполняются.
Решение виртуального кластера: Виртуальные кластеры имеют то преимущество, что их можно запустить через несколько секунд, поэтому инженеры можно создать по требованию. Поскольку они полностью сбежали кластеры, которые используются только одним инженером или применением за раз, они могут быть свободно настроены и адаптированы к индивидуальной ситуации. После завершения процесса теста или CI/CD их также можно выбрасывать без каких -либо проблем, что сохраняет затраты на вычислительные ресурсы как можно более низкой. Для этого кластеры Virtual Kubernetes идеально подходят для CI/CD и сценариев тестирования.
Облачное развитие
Требования: Все больше и больше компаний хотят Дайте разработчикам прямой доступ к Kubernetes уже во время разработки Анкет Для этого инженеры должны иметь доступ в Kubernetes, с которыми они могут работать и экспериментировать, сохраняя при этом затраты и управление для этих среда.
Проблема: Индивидуальные кластеры для каждого инженера часто невозможно, так как это дорогое решение, которое требует некоторых знаний Kubernetes и приводит к усилиям по обслуживанию. Для этого иногда используется многоцелевое пространство имен. Тем не менее, отсутствие сильной изоляции оставляет инженеров с некоторым риском разрушения всей системы. Кроме того, они обычно не имеют доступа к администратору к кластеру, поэтому они ограничены с точки зрения параметров конфигурации.
Решение виртуального кластера: Опять же, инженеры по требованию могут запустить виртуальные кластеры Kubernetes и без особого знания Kubernetes. Затем инженеры очень хорошо изолированы друг от друга и работают в безопасных песочницах разработчиков, не опасаясь влияния на других. В то же время этот подход очень экономична, поскольку с одним физическим кластером необходимы только низкие усилия по управлению, ресурсы могут быть переданы, а виртуальные кластеры могут быть легко удалены. Вместо того, чтобы удалить виртуальные кластеры, также возможно уложить их в спящем режиме, такой как один Лофт обеспечивает. Это позволяет разработчикам возобновить свою работу, где они закончились, в то время как не создается затраты на вычисления.
Эксперименты AI+ML
Требования: Для приложений искусственного интеллекта и машинного обучения часто требуется много компьютерных ресурсов. Для проведения экспериментов, таким образом, инженерам нужен доступ к облачной среде с большой мощностью. Они также должны быть в состоянии легко воспроизвести эти среды, чтобы повторно повторно эксперимента с различными параметрами или для их параллельно.
Проблема: Из -за высоких требований к ресурсам стоимость является основной проблемой для экспериментов по ИИ и ML. Таким образом, не разумно иметь среду эксперимента, всегда работающую, так как это создало бы высокую стоимость, даже если она не используется. С точки зрения рабочего процесса, общая среда приводит к времени ожидания инженеров, если еще один эксперимент все еще работает. То же самое касается отдельных кластеров, которые зайдут много времени, а также прерывает рабочие процессы инженеров.
Решение виртуального кластера: Виртуальные кластеры являются отличной альтернативой для инженеров искусственного интеллекта и машинного обучения, которые хотят проводить эксперименты. Они могут быть созданы в течение нескольких секунд, когда они необходимы и очень хорошо воспроизводимы, поэтому даже можно провести эксперименты параллельно, что может ускорить многие рабочие процессы. Несмотря на то, что Vclusters практически мгновенно доступны, они не работают на холостом ходу, так как их можно легко отключить после окончания эксперимента, поэтому стоимость этих дорогих экспериментов сводится к минимуму.
Какие виртуальные кластерные решения существуют
Виртуальные кластеры Kubernetes по -прежнему являются очень новой темой, но они уже доступны сегодня. Многоцелевая рабочая группа представил экспериментальное решение в этой области. K3V от Даррена Шепарда является еще одним доказательством реализации концепции в сообществе с открытым исходным кодом.
Более продвинутый Решение платформы для Virtual Kubernetes Clusters — LOFT Анкет LOFT-это коммерческое решение, которое предоставляет некоторые дополнительные функции поверх решения виртуального кластера, таких как спящий режим и управление пользователями на полной платформе, которую можно использовать внедорожни.
Вывод
Концепция кластеров Virtual Kubernetes по -прежнему очень новая, но может быть большим продвижением для Kubernetes, и сходство с новаторским переходом от физических серверов к виртуальным машинам поразителен. Сочетание общего кластера с сильной изоляцией способствует эффективности с устойчивостью и гибкостью. Это делает Kubernetes также более привлекательным для вариантов использования, когда в настоящее время его все еще трудно реализовать, такие как CI/CD, тестирование, облачный развитие и эксперименты AI/ML, и, таким образом, может еще больше стимулировать внедрение Kubernetes.
Фотография Кельвин Анг на Неспособный
Оригинал: «https://dev.to/loft/virtual-clusters-for-kubernetes-benefits-use-cases-16hb»