Выбор варианта Kubernetes для пограничных вычислений

В этом документе рассматриваются компромиссы для различных вариантов, доступных для расширения вычислений на границе. Рассматриваются следующие рекомендации по каждому варианту Kubernetes:

  • Операционные затраты. Ожидаемые трудозатраты, необходимые для обслуживания и эксплуатации кластеров Kubernetes.

  • Простота настройки. Уровень трудностей при настройке и развертывании кластера Kubernetes.

  • Гибкость. Мера адаптации параметра Kubernetes заключается в интеграции настраиваемой конфигурации с существующей инфраструктурой на границе.

  • Смешанный узел. Возможность запуска кластера Kubernetes с узлами Linux и Windows.

Предположения

  • Вы являетесь оператором кластера, который хочет понять различные варианты запуска Kubernetes в пограничных кластерах и управления кластерами в Azure.

  • У вас есть хорошее представление о существующей инфраструктуре и любых других требованиях к инфраструктуре, включая требования к хранилищу и сети.

После чтения этого документа вы будете находиться в лучшем положении, чтобы определить, какой вариант лучше подходит вашему сценарию и требуемой среде.

Выбор Kubernetes на первый взгляд

Операционные затраты Простота настройки Гибкость Смешанный узел Сводка
Kubernetes без операционной системы Высокий** Трудный** Высокий** Да Конфигурация на основе любой доступной инфраструктуры в расположении с возможностью использования Azure Arc для добавленных возможностей Azure.
K8s в Azure Stack Edge Pro Низкая Легко Низкая только Linux. Kubernetes, развернутый на устройстве Azure Stack Edge, развернутом в расположении.
Гибридная среда AKS Низкая Легко Средняя Да AKS, развернутые в Azure Stack HCI или Windows Server 2019.

*Другие управляемые пограничные платформы (OpenShift, Tanzu и т. д.) не входят в область действия этого документа.

**Эти значения основаны на использовании kubeadm ради простоты. Различные варианты запуска Kubernetes на краю могут изменить рейтинг в этих категориях.

Kubernetes без операционной системы

Настройка Kubernetes с помощью таких средств, как kubeadm , в любой базовой инфраструктуре.

Самые большие ограничения для Kubernetes без операционной системы связаны с конкретными потребностями и требованиями организации. Возможность использовать любой дистрибутив, сетевой интерфейс и подключаемый модуль означает более высокую сложность и операционные затраты. Но это обеспечивает наиболее гибкий вариант настройки кластера.

Сценарий

Часто пограничные расположения имеют определенные требования к запуску кластеров Kubernetes, которые не соответствуют другим решениям Azure, описанным в этом документе. Это означает, что этот вариант обычно лучше всего подходит для тех, кто не может использовать управляемые службы из-за неподдерживаемой существующей инфраструктуры или тех, кто стремится иметь максимальный контроль над своими кластерами.

  • Этот вариант может быть особенно сложным для тех, кто не знакомы с Kubernetes. Это не редкость для организаций, желающих запускать пограничные кластеры. Такие варианты, как MicroK8s или k3s, стремятся к выравниванию этой кривой обучения.

  • Важно понимать любую базовую инфраструктуру и любую интеграцию, которая, как ожидается, будет проходить заранее. Это поможет сузить жизнеспособные варианты и определить все пробелы с помощью инструментов с открытым исходным кодом и (или) подключаемых модулей.

  • Включение кластеров с помощью Azure Arc представляет простой способ управления кластером из Azure вместе с другими ресурсами. Это также предоставляет другие возможности Azure в кластер, включая Политика Azure, Azure Monitor, Microsoft Defender для облака и другие службы.

  • Так как конфигурация кластера не является тривиальной, особенно важно учитывать CI/CD. Отслеживание и выполнение последующих изменений различных подключаемых модулей и обеспечение того, чтобы эти изменения не влияли на работоспособность кластера, становятся прямой ответственностью. Важно иметь надежное решение CI/CD, строгое тестирование и мониторинг.

Параметры инструментов

Начальная загрузка кластера:

  • kubeadm: средство Kubernetes для создания кластеров Kubernetes. Хорошо подходит для стандартных вычислительных ресурсов (Linux или Windows).

  • MicroK8s: упрощенное администрирование и конфигурация ("LowOps"), соответствующее Kubernetes каноническим.

  • k3s: сертифицированное распределение Kubernetes, созданное для Интернета вещей (IoT) и пограничных вычислений.

Хранилище.

Сеть.

  • Полный список доступных надстроек можно найти здесь: сетевые надстройки. Некоторые популярные варианты включают Flannel, простую сеть наложения и Calico, которая обеспечивает полный сетевой стек.

Рекомендации

Операционные затраты:

  • Без поддержки, которая поставляется с управляемыми службами, она может поддерживать и управлять кластером в целом (хранилище, сеть, обновления, наблюдаемость, управление приложениями). Операционные затраты считаются высокими.

Простота настройки:

  • Оценка множества вариантов с открытым исходным кодом на каждом этапе конфигурации, является ли его сетевым, хранилищем или параметрами мониторинга неизбежным и может стать сложным. Для настройки CI/CD для конфигурации кластера требуется большее внимание. Из-за этих проблем простота настройки считается сложной.

Гибкость.

  • Благодаря возможности использовать любое средство с открытым исходным кодом или подключаемый модуль без ограничений поставщика, kubernetes без операционной системы является очень гибким.

Kubernetes в Azure Stack Edge

Кластер Kubernetes (эталонная виртуальная машина и рабочая виртуальная машина), настроенный и развернутый для вас на устройстве Azure Stack Edge Pro.

Устройства Azure Stack Edge Pro предоставляют такие возможности Azure, как вычисления, хранилище, сеть и аппаратное ускорение машинного обучения (ML) в любом пограничном расположении. Кластеры Kubernetes можно создавать после включения роли вычислений на любых устройствах Pro-GPU, Pro-R и Mini-R. Управление обновлениями кластера Kubernetes можно сделать с помощью стандартных обновлений, доступных для устройства.

Сценарий

Идеально подходит для тех, кто использует существующие рабочие нагрузки Интернета вещей (Linux) или обновляет вычислительные ресурсы для машинного обучения на границе. Это хороший вариант, если не требуется более детализированный контроль над кластерами.

  • Разрешения администратора по умолчанию не предоставляются. Хотя вы можете работать с группой продуктов, чтобы сделать определенные исключения, это затрудняет более точное управление кластером.

  • Если устройство Azure Stack Edge еще не существует, это дополнительная плата . Изучите устройства Azure Stack Edge и проверьте, соответствуют ли требования к вычислительным ресурсам.

  • Calico, MetalLB и CoreDNS устанавливаются для сети Kubernetes на устройстве.

  • В настоящее время поддерживаются только рабочие нагрузки Linux .

  • Помимо Kubernetes, Azure Stack Edge также поставляется со средой выполнения Интернета вещей, что означает, что рабочие нагрузки также могут быть развернуты в кластерах Azure Stack Edge через IoT Edge.

  • Поддержка двух кластеров узлов в настоящее время недоступна. Это означает, что этот параметр не является высокодоступным (HA) решением.

Рекомендации

Операционные затраты:

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

Простота настройки:

  • Предварительно настроенное и хорошо документированное развертывание кластера Kubernetes упрощает настройку, необходимую по сравнению с kubernetes без операционной системы.

Гибкость.

  • Конфигурация уже задана, а разрешения администратора по умолчанию не предоставляются. Участие в группе продуктов может потребоваться за пределами базовой конфигурации, а базовая инфраструктура должна быть устройством Azure Stack Edge Pro, что делает это менее гибким вариантом.

Гибридная среда AKS

Гибридная среда AKS — это набор предопределенных параметров и конфигураций, используемых для развертывания одного или нескольких кластеров Kubernetes (с модулями Windows Admin Center или PowerShell) в кластере с несколькими узлами под управлением Windows Server или Azure Stack HCI 20H2 или более поздней версии.

Сценарий

Идеально подходит для тех, кто хочет получить упрощенный и упрощенный способ получить поддерживаемый корпорацией Майкрософт кластер на совместимых устройствах (Azure Stack HCI или Windows Server). Операции и сложность конфигурации снижаются за счет гибкости по сравнению с параметром Kubernetes без операционной системы.

Рекомендации

Операционные затраты:

  • Поддерживаемый корпорацией Майкрософт кластер сводит к минимуму операционные затраты.

Простота настройки:

  • Предварительно настроенное и хорошо документированное развертывание кластера Kubernetes упрощает настройку, необходимую по сравнению с kubernetes без операционной системы.

Гибкость.

  • Сама конфигурация кластера задана, но разрешения администратора предоставляются. Базовая инфраструктура должна быть azure Stack HCI или Windows Server. 2019. Этот вариант является более гибким, чем Kubernetes в Azure Stack Edge и менее гибким, чем Kubernetes без операционной системы.

Соавторы

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

Автор субъекта:

  • Prabhjot Kaur | Главный архитектор облачных решений

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Следующие шаги

Дополнительные сведения см. в следующих статьях: