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


Обзор агента 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 Foundation (CNCF). Кластер уже должен существовать перед подключением к Azure Arc.

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

    Агент Description
    deployment.apps/clusteridentityoperator Kubernetes с поддержкой Azure Arc в настоящее время поддерживает только назначенные системой удостоверения. clusteridentityoperator инициирует первое исходящее взаимодействие. Это позволяет получить сертификат управляемых удостоверений для ресурсов Azure (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 кластеру. Необязательный компонент, развернутый только в том случае, если включена функция подключения кластера.
    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 из исходного кластера.

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