Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье сравниваются ключевые компромиссы между вариантами Kubernetes для расширения вычислительных ресурсов до края. Используйте это сравнение, чтобы выбрать решение, которое лучше всего соответствует вашей среде и требованиям. В статье рассматриваются следующие рекомендации по каждому параметру Kubernetes.
Операционные затраты: Ожидаемые трудозатраты, необходимые для обслуживания и эксплуатации кластеров Kubernetes.
Простота настройки: Уровень трудностей, связанных с настройкой и развертыванием кластера Kubernetes.
Гибкость: Насколько хорошо параметр Kubernetes поддерживает пользовательские конфигурации и интегрируется с существующей пограничной инфраструктурой.
Смешанный узел: Возможность запуска кластера Kubernetes, включающего как Linux, так и узлы Windows.
В этой статье приводятся следующие предположения.
Вы являетесь оператором кластера, который хочет оценить параметры Kubernetes для пограничных развертываний и управлять этими кластерами в Azure.
Вы знакомы с существующей инфраструктурой и ее требованиями, включая хранилище и сеть.
В этой статье показано, какой вариант лучше подходит для вашего сценария и необходимой среды.
Краткий обзор выбора Kubernetes
| Операционные затраты | Простота настройки | Гибкость | Смешанный узел | Сводка | |
|---|---|---|---|---|---|
| Kubernetes без операционной системы | Высокий* | Трудно* | Высокий* | Да | Развертывание Kubernetes с нуля на любой инфраструктуре на площадке с необязательной интеграцией Azure Arc для получения дополнительных возможностей |
| Kubernetes в Azure Stack Edge Pro | Низкий | Легко | Низкий | только Linux. | Kubernetes, развернутый на устройстве Azure Stack Edge, установленном в определенном местоположении |
| Служба Azure Kubernetes (AKS) гибридная | Низкий | Легко | Средняя | Да | AKS, развернутые на Azure Local |
| AKS Edge Essentials | Низкий | Легко | Средняя | Да | Облегчённый Kubernetes на оборудовании класса ПК или лёгком периферийном оборудовании с управлением через Azure Arc |
*Для простоты эти значения основаны на использовании kubeadm. Различные варианты запуска Kubernetes на «голом железе» на периферии влияют на значения в этих категориях.
Kubernetes без операционной системы
Kubernetes без операционной системы относится к развертыванию кластера Kubernetes непосредственно на физических серверах. Этот подход обходит необходимость виртуализации.
Вы можете настроить Kubernetes с нуля с помощью таких средств, как kubeadm в любой базовой инфраструктуре.
Самые большие ограничения на развертывание Kubernetes без операционной системы возникают из-за требований к инфраструктуре вашей организации. Свобода выбора любого дистрибутива, сетевого интерфейса и подключаемого модуля повышает сложность и более высокую операционную стоимость. Однако этот параметр обеспечивает большую гибкость для настройки кластера.
Сценарий
Периферийные площадки часто имеют особые требования, которым не могут удовлетворить другие решения Azure, рассматриваемые в этой статье. Развертывание Kubernetes без операционной системы лучше всего подходит, если вы не можете использовать управляемые службы из-за неподдерживаемой существующей инфраструктуры или если требуется максимальное управление кластерами.
Этот вариант может быть сложным, особенно если вы не знакомы с Kubernetes. Облегчённые варианты Kubernetes, такие как MicroK8s и K3s, призваны снизить порог входа.
Прежде чем начать, тщательно оцените существующую инфраструктуру и точки интеграции. Это предварительное вычисление помогает сузить жизнеспособные варианты и определить все пробелы в инструментах с открытым исходным кодом или поддержке подключаемых модулей в начале процесса.
Вы можете подключить кластеры к Azure Arc для управления ими из Azure вместе с другими ресурсами. Azure Arc также разблокирует дополнительные возможности Azure для кластера, например Политика Azure, Azure Monitor и Microsoft Defender для облака.
Конфигурация кластера является сложной и нетривиальной, поэтому необходима надежная стратегия непрерывной интеграции и непрерывного развертывания (CI/CD). Необходимо отслеживать изменения вышестоящего подключаемого модуля, проверять, не влияют ли эти изменения на работоспособность кластера и поддерживать строгое тестирование на протяжении всего жизненного цикла кластера.
Варианты инструментов
Средства начальной загрузки кластера:
kubeadm: инструмент Kubernetes для создания кластеров Kubernetes с нуля. Хорошо подходит для стандартных вычислительных ресурсов, таких как Linux или Windows.
MicroK8s: соответствующий дистрибутив Kubernetes, упрощающий администрирование и настройку. Он поддерживает подход с низким уровнем операций.
K3s: сертифицированное распределение Kubernetes, созданное для Интернета вещей (IoT) и пограничных вычислений.
Средства хранения:
- Драйверы интерфейса хранения контейнеров (CSI): доступен широкий спектр драйверов для поддержки серверных частей систем хранения, от облачных служб до локальных файловых ресурсов общего доступа.
Сетевые инструменты:
- Полный список доступных дополнений. Некоторые популярные варианты включают Flannel, которая является простой сетью наложения, и Calico, которая обеспечивает полный сетевой стек.
Рекомендации
Операционные затраты:
- Без управляемой службы для поддержки кластера ваша организация полностью отвечает за хранение, сеть, обновления, наблюдаемость и управление приложениями. Эта ответственность приводит к высокой операционной стоимости.
Простота настройки:
- Оценка и выбор параметров с открытым исходным кодом для сети, хранилища и мониторинга на каждом этапе настройки значительно усложняет процесс. Ci/CD для конфигурации кластера также требует тщательного планирования, что делает Kubernetes без операционной системы значительно сложнее настроить, чем управляемые альтернативные варианты.
Гибкость.
- Kubernetes на bare metal не накладывает никаких ограничений со стороны поставщика, поэтому у вас есть полная свобода выбора инструментов и плагинов с открытым исходным кодом.
Kubernetes на Azure Stack Edge Pro
Устройства Azure Stack Edge Pro автоматически развертывают кластер Kubernetes, включая основную виртуальную машину (VM) и рабочую виртуальную машину.
Эти устройства обеспечивают доступ к возможностям Azure, таким как вычислительные ресурсы, хранилище, сетевые возможности и машинное обучение с аппаратным ускорением, в любой периферийной среде. Кластеры Kubernetes можно создать после включения роли вычислений на любом из устройств Pro-GPU, Pro-R и Mini-R. Управление обновлениями кластера Kubernetes с помощью стандартных обновлений, доступных для устройства.
Сценарий
Этот подход идеально подходит, если у вас уже есть Linux-нагрузки для IoT или если вы модернизируете вычислительную инфраструктуру для машинного обучения на периферии. Используйте этот параметр, если вам не требуется более детализированный контроль над кластерами.
Разрешения администратора по умолчанию не предоставляются. Вы можете работать с группой продуктов, чтобы сделать определенные исключения, но трудно иметь более точный контроль над кластером.
Дополнительные затраты применяются, если у вас нет существующего устройства Azure Stack Edge. Изучите Azure Stack Edge устройства и проверьте, соответствуют ли требования к вычислительным ресурсам.
Calico, MetalLB и CoreDNS устанавливаются для сети Kubernetes на устройстве.
Поддерживаются только рабочие нагрузки Linux.
Помимо Kubernetes, Azure Stack Edge поставляется со средой выполнения Интернета вещей. Рабочие нагрузки можно развернуть в кластерах Azure Stack Edge с помощью Azure IoT Edge.
Двухузловые устройства Azure Stack Edge Pro GPU могут поддерживать двухузловые отказоустойчивые кластеры Kubernetes (HA) с переключением главного узла при отказе.
Рекомендации
Операционные затраты:
- Встроенная поддержка устройства обрабатывает операции кластера, что обеспечивает низкую стоимость работы и ограничивает фокус вашей команды на управление рабочими нагрузками.
Простота настройки:
- Развертывание кластера Kubernetes предварительно настроено и поддерживается тщательной документацией. Эти ресурсы упрощают сложность процесса настройки по сравнению с Kubernetes без операционной системы.
Гибкость.
- Конфигурация кластера уже задана, а разрешения администратора по умолчанию не предоставляются. Для любой настройки, помимо основных параметров, может потребоваться участие в группе продуктов. Так как базовая инфраструктура должна быть устройством Azure Stack Edge Pro, этот вариант имеет низкую гибкость.
Гибридный AKS
Гибридная среда AKS использует стандартные параметры и конфигурации для развертывания одного или нескольких кластеров Kubernetes. AKS в Azure Local (версии 23H2+) использует Azure CLI и портал Azure для развертывания через Azure Arc.
Сценарий
Этот подход идеально подходит, если требуется упрощенный и рационализированный способ организации Microsoft-поддерживаемого кластера на устройствах, совместимых с Azure Local. Гибридная среда AKS снижает сложность операций и конфигурации за счет гибкости по сравнению с параметром Kubernetes без операционной системы.
Azure Local также распространяет средства управления Azure на суверенные среды. Рабочие нагрузки на базе Kubernetes могут функционировать в пределах границ данных государственных структур, оборонной сферы или регулируемых отраслей, пользуясь при этом преимуществами политик и управления жизненным циклом, согласованных с Azure. Дополнительные сведения см. в обзоре Azure Local.
Рекомендации
Операционные затраты:
- Поддерживаемый корпорацией Майкрософт кластер сводит к минимуму операционные затраты.
Простота настройки:
- Развертывание кластера Kubernetes предварительно настроено и поддерживается тщательной документацией, которая упрощает конфигурацию, необходимую по сравнению с kubernetes без операционной системы.
Гибкость.
- Конфигурация кластера задана, но вы получаете разрешения администратора. Базовая инфраструктура должна быть Azure Local (23H2 или более поздней версии). Этот вариант является более гибким, чем Kubernetes в Azure Stack Edge и менее гибким, чем Kubernetes без операционной системы.
AKS Edge Essentials
AKS Edge Essentials — это локальная реализация AKS на базе Kubernetes, предназначенная для облегченного оборудования, оборудования класса ПК или периферийного оборудования с ограниченными ресурсами. Она включает в себя платформу Kubernetes с поддержкой Microsoft, которая имеет небольшой объем и простую установку. Такая конструкция хорошо подходит для использования в сценариях IoT, розничной торговли и промышленной периферии.
AKS Edge Essentials поддерживает как распределение Kubernetes, соответствующее Cloud Native Computing Foundation (CNCF), так и упрощенное распределение K3s. Каждый компьютер в кластере может запускать одну виртуальную машину Linux, одну Windows виртуальную машину или оба. В отличие от гибридной среды AKS, AKS Edge Essentials использует статические, предопределенные конфигурации виртуальных машин и не поддерживает динамическое создание виртуальных машин или управление жизненным циклом кластера, что обеспечивает низкую нагрузку на ресурсы.
Сценарий
Этот подход идеально подходит, если вам нужно запустить Kubernetes на устройствах с ограниченными ресурсами, таких как промышленные компьютеры, терминалы точки продажи или шлюзы Интернета вещей. Используйте этот параметр, если оборудование не соответствует требованиям к решениям класса сервера, таким как гибридный AKS.
AKS Edge Essentials имеет минимальные требования к вычислительным ресурсам и памяти (4 ГБ ОЗУ и 2 виртуальных ЦП), что делает его подходящим для оборудования pc-класса или легкого пограничного оборудования.
Она поддерживает как Linux, так и контейнеры Windows, которые выполняются параллельно с собственными приложениями Windows, что обеспечивает взаимодействие между ОС без внедрения отдельной плоскости управления Linux.
Кластеры можно подключить к Azure Arc для централизованного управления с портала Azure, включая Политика Azure, Azure Monitor и развертывания приложений на основе GitOps.
Командлеты PowerShell обеспечивают как установку, так и создание кластера, поддерживая одноузловые и многоузловые топологии.
Образ виртуальной машины Linux под управлением Microsoft основан на Azure Linux и получает ежемесячные обновления для системы безопасности. Microsoft также управляет обновлениями распространения Kubernetes.
Рекомендации
Операционные затраты:
- Microsoft управляет распределением Kubernetes и образами виртуальных машин, что снижает нагрузку на работу. Обновления кластера и исправления системы безопасности предоставляются автоматически.
Простота настройки:
- Установка на основе PowerShell и предварительно настроенные образы виртуальных машин упрощают настройку по сравнению с развертываниями Kubernetes на физическом оборудовании. Статическая модель конфигурации снижает сложность управления кластерами.
Гибкость.
- Модель выделения статических виртуальных машин ограничивает динамическое масштабирование. Настройка возможна, но ограничена по сравнению с развертываниями Kubernetes на физических серверах. Базовая инфраструктура должна быть Windows 10, Windows 11 или устройством Windows Server. Этот вариант является более гибким, чем Kubernetes в Azure Stack Edge и сравним с гибридным решением AKS для большинства пограничных сценариев.
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основные авторы:
- Prabhjot Kaur | Старший инженер по решениям
- Авнеш Каушик | Архитектор решений для главного партнера
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Что такое IoT Edge
- Kubernetes на устройстве GPU Azure Stack Edge Pro
- Используйте модуль IoT Edge для запуска безгосударственного приложения Kubernetes на устройстве Azure Stack Edge Pro GPU
- Развертывание приложения Без отслеживания состояния Kubernetes с помощью kubectl на устройстве GPU Azure Stack Edge Pro
- Мониторинг устройства GPU Azure Stack Edge Pro с помощью панели мониторинга Kubernetes