컨테이너 레지스트리에 대한 연결 확인

이 문서는 시리즈의 일부입니다. 개요부터 시작합니다.

AKS(Azure Kubernetes Service) 클러스터에 컨테이너화된 애플리케이션을 성공적으로 배포하려면 클러스터와 컨테이너 레지스트리 간의 연결을 확인해야 합니다. 이 단계에서는 작업자 노드가 레지스트리에서 필요한 컨테이너 이미지를 끌어오는 데 필요한 권한을 갖도록 보장합니다.

증상 식별

에이전트 노드에서 실행되는 kubelet이 Pod에 대한 컨테이너를 만들면 하나 이상의 컨테이너가 오류로 인해 ImagePullBackOff 대기 상태로 끝날 수 있습니다. ImagePullBackoff 는 공용 또는 프라이빗 레지스트리에서 필요한 컨테이너 이미지를 끌어오지 못했음을 나타내는 Kubernetes의 일반적인 오류 메시지입니다. 네트워크 연결 문제, 잘못된 이미지 이름 또는 태그, 권한 부족 또는 자격 증명 누락 등 다양한 요인으로 인해 이 오류가 발생할 수 있습니다.

BackOff 상태 부분은 Kubernetes가 후속 시도 사이에 지연이 증가하면서 이미지를 계속 끌어오려고 시도한다는 것을 의미합니다. 지연은 일반적으로 Kubernetes에서 300초(5분)로 설정되는 미리 결정된 제한에 도달할 때까지 점진적으로 증가합니다.

정확도를 위해 레지스트리 및 이미지 이름을 두 번 검사 것이 중요합니다. 또한 AKS 클러스터에 적절한 컨테이너 레지스트리에서 이미지를 끌어오는 데 필요한 권한이 있는지 확인합니다.

역할 할당

컨테이너 레지스트리기존 AKS 클러스터에 연결하는 경우 AcrPull 역할은 레지스트리를 통해 AKS 클러스터의 에이전트 풀과 연결된 Microsoft Entra 관리 ID에 자동으로 할당됩니다. 자세한 내용은 AKS에서 Container Registry로 인증을 참조 하세요.

다음 명령을 실행하여 Kubernetes 클러스터의 kubelet 관리 ID 및 현재 역할 할당을 검색합니다.

# 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

다음 명령을 실행하여 kubelet 관리 ID에 역할을 할당 AcrPull 합니다.

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

Container Registry 문제 해결

다음 섹션에서는 Azure 컨테이너 레지스트리에 네트워킹, 로그인 또는 성능 문제가 발생하는 경우 참조할 수 있는 가이드를 제공합니다.

네트워킹 문제 해결

가상 네트워크 또는 방화벽 또는 프록시 서버 뒤에서 Azure 컨테이너 레지스트리에 액세스하는 것과 관련된 문제가 발생하는 경우 다음 솔루션을 고려하세요.

로그인 문제 해결

Azure Container Registry에 로그인할 때 인증 및 권한 부여 문제가 발생하는 경우 다음 솔루션을 고려하세요.

성능 문제 해결

Azure 컨테이너 레지스트리에 성능 문제가 발생하는 경우 다음 솔루션을 고려하세요.

이러한 가이드는 AKS 클러스터에 대한 원활한 이미지 검색을 보장하고 워크로드의 원활한 작업을 보장하는 데 도움이 될 수 있습니다.

타사 컨테이너 레지스트리 통합

타사 컨테이너 레지스트리를 사용하는 경우 AKS 클러스터가 컨테이너 이미지에 안전하게 액세스할 수 있도록 레지스트리에 대한 적절한 ImagePullSecret 자격 증명을 만들어야 합니다. 자세한 내용은 이미지 끌어오기 비밀 만들기를 참조 하세요. 컨테이너 레지스트리에 대한 연결을 확인하고 AKS 클러스터가 배포 중에 필요한 컨테이너 이미지를 성공적으로 끌어올 수 있도록 올바른 권한 및 자격 증명을 설정했는지 확인합니다. 이 모범 사례는 Kubernetes에서 컨테이너화된 워크로드를 원활하고 안정적으로 실행하는 데 도움이 됩니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계