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

В этой статье рассматриваются часто задаваемые вопросы о 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 не требуется. Может потребоваться подключить кластер для запуска определенных служб с поддержкой Azure Arc, таких как Служба приложений и службы данных на вершине кластера. Это можно сделать с помощью функции пользовательских расположений Kubernetes с поддержкой Azure Arc.

Следует ли подключать кластер AKS-HCI и кластеры Kubernetes в Azure Stack Edge к Azure Arc?

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

Если кластер Kubernetes с поддержкой Azure Arc находится в Azure Stack Edge, AKS в Azure Stack HCI (= обновление за апрель 2021 г.) или AKS в Центре обработки данных Windows Server 2019 (>>= обновление за апрель 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 в выходных данных показывает, когда истечет срок действия сертификата управляемого удостоверения (метка 90D для этого сертификата).

Если значение 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 в область подписки или группы ресурсов. Эта возможность даже применима к ресурсам Kubernetes с поддержкой Azure Arc и AKS, созданным после назначения политики.

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

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

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

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

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

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