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


Часто задаваемые вопросы о Kubernetes и GitOps с поддержкой Azure Arc

В этой статье рассматриваются часто задаваемые вопросы о Kubernetes и GitOps с поддержкой Azure Arc.

В чем разница между Kubernetes с поддержкой Azure Arc и службой Azure Kubernetes (AKS)?

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

Kubernetes с поддержкой Azure Arc позволяет расширить возможности управления Azure (например, Azure Monitor и политика Azure), подключив кластеры Kubernetes к Azure. Вы поддерживаете базовый кластер Kubernetes.

Необходимо ли подключить кластеры AKS, работающие в Azure, к Azure Arc?

Для большинства сценариев подключение кластера Службы Azure Kubernetes (AKS) к Azure Arc не требуется. Вы можете подключить кластер AKS для запуска определенных служб с поддержкой Azure Arc, таких как приложения контейнеров Azure или службы данных с поддержкой Arc на вершине кластера. Это можно сделать с помощью функции пользовательских расположений Kubernetes с поддержкой Azure Arc.

Следует ли подключить AKS в Azure Local или Azure Stack Edge к Azure Arc?

Подключение вашего AKS в Azure Local или Azure Stack Edge к Azure Arc обеспечивает кластерам представление ресурсов в Azure Resource Manager. Это представление ресурсов расширяет возможности, такие как конфигурация кластера, Azure Monitor и политика Azure (Gatekeeper) для подключенных кластеров Kubernetes.

Для Azure Stack Edge, AKS на Azure Local (>= обновление за апрель 2021 г.) или AKS в Windows Server 2019 Datacenter (>= обновление за апрель 2021 г.), конфигурация Kubernetes предоставляется бесплатно.

Как решить проблему с просроченными ресурсами Kubernetes с поддержкой Azure Arc?

Управляемое удостоверение, назначаемое системой, связанное с кластером Kubernetes с поддержкой Azure Arc, используется только агентами Azure Arc для взаимодействия со службами Azure Arc. Сертификат, связанный с этой системой, имеет срок действия 90 дней, и агенты попытаются продлить этот сертификат в период с 46 по день 90. Чтобы избежать истечения срока действия сертификата управляемого удостоверения, убедитесь, что кластер подключен по крайней мере один раз между 46 и 90 днем, чтобы сертификат можно было продлить.

Если срок действия сертификата управляемого удостоверения истекает, ресурс считается Expired , а все функции Azure Arc (например, конфигурация, мониторинг и политика) перестают работать в кластере.

Чтобы проверить, истекает ли срок действия сертификата управляемого удостоверения для данного кластера, выполните следующую команду:

az connectedk8s show -n <name> -g <resource-group>

В результирующих данных значение managedIdentityCertificateExpirationTime указывает, когда срок действия управляемого удостоверения истекает (порог 90 дней для этого сертификата).

Если значение managedIdentityCertificateExpirationTime указывает метку времени из прошлого, то поле connectivityStatus в приведенных выше выходных данных будет иметь значение Expired. В таких случаях для повторной работы кластера Kubernetes с Azure Arc выполните следующие действия:

  1. Удалите ресурс и агенты Kubernetes с поддержкой Azure Arc в кластере.

    az connectedk8s delete -n <name> -g <resource-group>
    
  2. Повторно создайте ресурс Kubernetes с поддержкой Azure Arc, развернув агенты в кластере.

    az connectedk8s connect -n <name> -g <resource-group>
    

Замечание

az connectedk8s delete Также будут удалены конфигурации и расширения кластера поверх кластера. После выполнения az connectedk8s connect повторно создайте конфигурации и расширения кластера, либо вручную, либо с помощью политики Azure.

Если я уже использую конвейеры CI/CD, могу ли я всё равно использовать Kubernetes с поддержкой Azure Arc или AKS и конфигурации GitOps?

Да, вы по-прежнему можете использовать конфигурации в кластере, получая развертывания с помощью конвейера CI/CD. По сравнению с традиционными конвейерами CI/CD конфигурации GitOps предоставляют некоторые дополнительные преимущества.

Согласование отклонений

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

Применение GitOps в масштабе

Конвейеры CI/CD полезны для развертывания на основе событий в кластере Kubernetes (например, отправка в репозиторий Git). Однако для развертывания одной конфигурации во всех кластерах Kubernetes необходимо вручную настроить учетные данные каждого кластера Kubernetes в конвейере CI/CD.

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

Эта функция применяет базовые конфигурации (например, сетевые политики, привязки ролей и политики безопасности контейнеров) для всей инфраструктуры кластера Kubernetes в целях соответствия и управления.

Соответствие кластерам

Состояние соответствия каждой конфигурации GitOps сообщается в Azure. Это позволяет отслеживать все неудачные развертывания.

Хранит ли Kubernetes какие-либо данные клиентов за пределами региона кластера с поддержкой Azure Arc?

Функция для хранения данных клиентов в одном регионе в настоящее время доступна только в регионе Юго-Восточной Азии (Сингапур) азиатско-тихоокеанского региона и южной Бразилии (штат Сан-Паулу) региона Бразилии. Для всех других регионов данные клиента хранятся в геообъектах. Это применимо для расширений, таких как Open Service Mesh и поставщик секретов Azure Key Vault, поддерживаемых в Kubernetes, управляемом Azure Arc. Сведения о хранении данных клиентов см. в документации по другим расширениям кластера. Дополнительные сведения см. в разделе "Центр управления безопасностью".

Дальнейшие шаги