Поделиться через


Расширения кластера

В этой статье описывается, как использовать расширения кластера Kubernetes с поддержкой Azure Arc с помощью Helm Chart для управления приложениями Kubernetes. Функция расширений кластера в Kubernetes с поддержкой Azure Arc содержит все стандартные блоки, необходимые для определения, установки и обновления даже самых сложных приложений Kubernetes.

Функция расширения кластера опирается на компоненты упаковки Helm. С расширениями вы используете интерфейс на основе Azure Resource Manager для установки и управления жизненным циклом различных возможностей на основе кластера Kubernetes.

Оператор кластера или администратор могут использовать функцию расширений кластера , чтобы:

  • Установите и управляйте предложениями управления ключами, данными и приложениями в кластере Kubernetes.
  • Используйте политику Azure для автоматизации масштабируемого развертывания расширений кластера во всех кластерах в вашей среде.
  • Подпишитесь на ветки выпуска (например, Preview или Stable) для каждого расширения.
  • Настройте автообновление для расширений или закрепите определенную версию и вручную обновляйте версии.
  • Обновите свойства расширения или удалите экземпляры расширения.

Расширения доступны для поддержки широкого спектра служб и сценариев Azure. Список поддерживаемых в настоящее время расширений см. в разделе "Доступные расширения для кластеров Kubernetes с поддержкой Azure Arc".

Архитектура

Схема, на которой показана архитектура рабочего процесса установки расширения кластера.

Чтобы скачать схемы архитектуры в высоком разрешении, перейдите на страницу Jumpstart Gems.

Экземпляр расширения кластера создается как расширение ресурса Azure Resource Manager (Microsoft.KubernetesConfiguration/extensions) на основе ресурса Kubernetes с поддержкой Azure Arc (представленного Microsoft.Kubernetes/connectedClusters) в Azure Resource Manager.

Это представление в Azure Resource Manager позволяет создавать политики, проверяющие наличие или отсутствие определенного расширения кластера во всех ресурсах Kubernetes с поддержкой Azure Arc. После определения отсутствующих расширений кластера с определенными значениями свойств можно устранить несоответствующие ресурсы с помощью политики Azure.

Компонент config-agent , работающий в кластере, отслеживает новые и обновленные ресурсы расширения в ресурсе Kubernetes с поддержкой Azure Arc. Агент, работающий в кластере extensions-manager , считывает тип расширения, который необходимо установить. Затем он извлекает связанную диаграмму Helm из реестра контейнеров Azure или реестра контейнеров Майкрософт и устанавливает ее в кластере.

Оба компонента, config-agent и extensions-manager, работающие в кластере, управляют обновлением экземпляров расширений, обновлениями версий и удалением экземпляров расширений. Эти агенты используют управляемое удостоверение, назначаемое системой, для безопасного взаимодействия со службами Azure.

Замечание

config-agent проверяет наличие новых или обновленных экземпляров расширений на вершине кластера Kubernetes с поддержкой Azure Arc. Агенты требуют подключения, чтобы состояние требуемого расширения было передано в кластер. Если агенты не могут подключиться к Azure, распространение требуемого состояния в кластер отложено.

Защищенные параметры конфигурации для экземпляра расширения хранятся до 48 часов в службах Kubernetes с поддержкой Azure Arc. В результате, если кластер остается отключенным в течение 48 часов после создания ресурса расширения в Azure, расширение изменяется из Pending состояния в состояние Failed . Чтобы предотвратить это, рекомендуется регулярно запускать кластеры в работу.

Это важно

В настоящее время расширения кластера Kubernetes с поддержкой Azure Arc не поддерживаются в кластерах на основе ARM64, за исключением Flux (GitOps) и Microsoft Defender для контейнеров. Чтобы установить и использовать другие расширения кластера, кластер должен иметь по крайней мере один узел операционной системы и типа архитектуры linux/amd64.

Область расширения

Каждый тип расширения определяет область, в которой они работают в кластере. Установка расширений в кластерах Kubernetes с поддержкой Arc может иметь область действия кластера или область действия пространства имен.

При создании экземпляра расширения необходимо указать пространство имен, в котором оно установлено как release-namespace. Как правило, в кластере устанавливаются только один экземпляр расширения с областью кластера и его компоненты, включая модули pod, операторы и пользовательские определения ресурсов (CRD).

Расширение, охватывающее пространство имен, можно установить в определенном пространстве имен, используя свойство –namespace. Поскольку расширение может быть развернуто на уровне пространства имен, в кластере могут одновременно работать несколько экземпляров расширения и его компонентов. Каждый экземпляр расширения имеет разрешения для пространства имен, в котором он развернут. Все расширения, описанные в этой статье, являются кластеризованными, за исключением расширения Сетки событий в Kubernetes.

Все доступные в настоящее время расширения являются кластеризованными, кроме службы "Управление API Azure" в Azure Arc.