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


Проверка подключения к реестру контейнеров

Эта статья является частью серии. Начните с обзора.

Чтобы успешно развернуть контейнерные приложения в кластере Службы Azure Kubernetes (AKS), необходимо проверить подключение между кластером и реестром контейнеров. На этом шаге гарантируется, что рабочие узлы имеют необходимые разрешения для извлечения необходимых образов контейнеров из реестра.

Выявление симптомов

Когда kubelet, работающий на узле агента, создает контейнеры для pod, один или несколько контейнеров могут оказаться в состоянии ожидания из-за ImagePullBackOff ошибки. ImagePullBackoff — это распространенное сообщение об ошибке в Kubernetes, которое указывает на сбой извлечения требуемого образа контейнера из общедоступного или частного реестра. Различные факторы могут вызвать эту ошибку, включая проблемы с сетевым подключением, неправильное имя изображения или тег, недостаточно разрешений или отсутствующие учетные данные.

Часть BackOff состояния означает, что Kubernetes постоянно пытается загрузить образ с постепенно увеличивающейся задержкой между каждой последующей попыткой. Задержка постепенно увеличивается до тех пор, пока не достигнет предопределенного ограничения, которое обычно устанавливается на 300 секунд (5 минут) в Kubernetes.

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

Назначения ролей

При присоединении реестра контейнеров к существующему кластеру AKS роль AcrPull автоматически назначается управляемому удостоверению Microsoft Entra, связанному с пулами агентов в вашем кластере AKS, для реестра. Дополнительные сведения см. в статье "Проверка подлинности с помощью реестра контейнеров" из AKS.

Выполните следующую команду, чтобы получить управляемое удостоверение kubelet для кластера Kubernetes и его текущие назначения ролей.

# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table

Выполните следующую команду, чтобы назначить AcrPull роль управляемому удостоверению kubelet:

AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull

Устранение неполадок с реестром контейнеров

В следующих разделах приведены руководства, которые можно использовать при возникновении проблем с сетью, входом или производительностью реестра контейнеров Azure.

Устранение неполадок сети

Если возникают проблемы, связанные с доступом к реестру контейнеров Azure в виртуальной сети или за брандмауэром или прокси-сервером, рассмотрите следующие решения:

Устранение проблем со входом

Если при входе в реестр контейнеров Azure возникают проблемы с проверкой подлинности и авторизацией, рассмотрите следующие решения:

Устранение неполадок с производительностью

Если у вас возникли проблемы с производительностью в реестре контейнеров Azure, рассмотрите следующие решения:

Эти руководства помогут вам добиться надежного извлечения изображений для кластера AKS и поддерживать стабильную работу рабочих нагрузок.

Интеграция сторонних реестров контейнеров

При использовании стороннего реестра контейнеров необходимо создать соответствующие ImagePullSecret учетные данные для реестра, чтобы кластер AKS смог безопасно получить доступ к образам контейнеров. Дополнительные сведения см. в разделе "Создание секрета извлечения изображения". Убедитесь, что вы настроили правильные разрешения и учетные данные, чтобы проверить подключение к реестру контейнеров и включить кластер AKS для успешного извлечения необходимых образов контейнеров во время развертывания. Эта рекомендация помогает обеспечить плавное и надежное выполнение контейнерных рабочих нагрузок в Kubernetes.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Основные авторы:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия