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


Обзор агента Kubernetes с поддержкой Azure Arc

Kubernetes с поддержкой Azure Arc предоставляет централизованную, согласованную плоскость управления для управления политикой, управлением и безопасностью в кластерах Kubernetes в разных средах.

Агенты Azure Arc развертываются в кластерах Kubernetes при подключении к Azure Arc. В этой статье представлен обзор этих агентов.

Разверните агентов в ваш кластер

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

На этой схеме представлено высокоуровневое представление компонентов Azure Arc. Кластеры Kubernetes в локальных центрах обработки данных или различных облаках подключены к Azure через агенты Azure Arc. Это подключение позволяет управлять кластерами в Azure с помощью средств управления и служб Azure. Доступ к кластерам также можно получить с помощью автономных средств управления.

Схема, показывающая обзор архитектуры агентов Kubernetes с поддержкой Azure Arc.

В подключении кластера Kubernetes к Azure Arc выполняются следующие высокоуровневые действия.

  1. Создайте кластер Kubernetes на выбранной инфраструктуре (VMware vSphere, Amazon Web Services, Google Cloud Platform или любой сертифицированный дистрибутив Kubernetes от Cloud Native Computing Foundation (CNCF). Кластер уже должен существовать перед подключением к Azure Arc.

  2. Запустите регистрацию Azure Arc для кластера. Этот процесс развертывает диаграмму Helm агента в кластере. После этого узлы кластера инициируют исходящее взаимодействие с Microsoft Container Registry, загружая образы, необходимые для создания следующих агентов в azure-arc пространстве имен:

    Агент Описание
    deployment.apps/clusteridentityoperator Kubernetes с поддержкой Azure Arc в настоящее время поддерживает только системные назначенные идентификаторы. clusteridentityoperator инициирует первое исходящее взаимодействие. Первое взаимодействие получает сертификат управляемой служебной идентификации (MSI), используемый другими агентами для взаимодействия с Azure.
    deployment.apps/config-agent Наблюдает за подключенным кластером для ресурсов конфигурации системы управления исходным кодом, примененных к кластеру. Обновляет состояние соответствия требованиям.
    deployment.apps/controller-manager Является оператором для операторов, т. е. управляет взаимодействием между компонентами Azure Arc.
    deployment.apps/metrics-agent Собирает метрики других агентов Arc для проверки оптимальной производительности.
    deployment.apps/cluster-metadata-operator Собирает метаданные кластера, включая версию кластера, число узлов и версию агента Azure Arc.
    deployment.apps/resource-sync-agent Синхронизирует упомянутые выше метаданные кластера с Azure.
    deployment.apps/flux-logs-agent Собирает журналы из операторов Flux, развернутых в рамках конфигурации системы управления версиями.
    deployment.apps/extension-manager Устанавливает и управляет жизненным циклом диаграмм расширения Helm.
    deployment.apps/kube-aad-proxy Используется для проверки подлинности запросов, отправленных в кластер с помощью подключения к кластеру.
    deployment.apps/clusterconnect-agent Обратный прокси-агент, который позволяет функции подключения кластера предоставлять доступ к apiserver кластеру. Необязательный компонент развертывается только в случае включения функции cluster connect.
    deployment.apps/guard Сервер вебхука для проверки подлинности и авторизации, используемый в Microsoft Entra RBAC. Необязательный компонент, развернутый только в том случае, если azure RBAC включен в кластере.
  3. После того как все модули pod агента Kubernetes с поддержкой Azure Arc находятся в Running состоянии, убедитесь, что кластер подключен к Azure Arc. Должно появиться следующее:

    • Ресурс Kubernetes connectedClusters с поддержкой Azure Arc в Azure Resource Manager. Azure отслеживает этот ресурс как проекцию управляемого клиентом кластера Kubernetes, а не сам кластер Kubernetes.
    • Метаданные кластера (например, версия Kubernetes, версия агента и количество узлов) отображаются в ресурсе Kubernetes с поддержкой Azure Arc в качестве метаданных.

Дополнительные сведения о развертывании агентов в кластере см. в кратком руководстве по подключению существующего кластера Kubernetes к Azure Arc.

Перемещение кластеров Kubernetes с поддержкой Arc в регионах Azure

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

При перемещении подключенного кластера в новый регион удалите connectedClusters ресурс Azure Resource Manager в исходном регионе, а затем разверните агенты для повторного создания connectedClusters ресурса в целевом регионе. Для конфигураций системы управления версиями, конфигураций Flux и расширений в кластере необходимо сохранить сведения о ресурсах, а затем повторно создать дочерние ресурсы в новом ресурсе кластера.

Перед началом работы убедитесь, что ресурсыMicrosoft.Kubernetes/connectedClusters Kubernetes с поддержкой Azure Arc и все необходимые ресурсы конфигурации Kubernetes с поддержкой Azure Arc (Microsoft.KubernetesConfiguration/SourceControlConfigurations, Microsoft.KubernetesConfiguration/Extensions, Microsoft.KubernetesConfiguration/FluxConfigurations) поддерживаются в целевом регионе.

  1. Сделайте список, чтобы получить все ресурсы конфигурации в исходном кластере (перемещаемом кластере) и сохраните текст ответа:

    Примечание.

    LIST/GET ресурсов конфигурации не возвращают ConfigurationProtectedSettings. В таких случаях единственным вариантом является сохранение исходного текста запроса и их повторное использование при создании ресурсов в новом регионе.

  2. Удалите предыдущее развертывание Arc из базового кластера Kubernetes.

  3. Имея сетевой доступ к базовому кластеру Kubernetes, подключите кластер в новом регионе.

  4. Убедитесь, что подключенный кластер Arc успешно запущен в новом регионе:

    1. Убедитесь, что значение az connectedk8s show -n <connected-cluster-name> -g <resource-group> равно connectivityStatus, запустив Connected.
    2. Выполните команду kubectl get deployments,pods -n azure-arc , чтобы убедиться, что все агенты успешно развернуты.
  5. Используя сохраненный текст ответа, повторно создайте все ресурсы конфигурации, полученные в команде LIST из исходного кластера в целевом кластере. Чтобы подтвердить, сравните результаты из списка всех ресурсов конфигурации в целевом кластере с исходным ответом LIST из исходного кластера.

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