자습서: Arc에서 사용하도록 설정된 AKS에 대한 Azure Container Registry 만들기

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

Azure Container Registry 컨테이너 이미지에 대한 프라이빗 레지스트리입니다. 프라이빗 컨테이너 레지스트리를 사용하면 애플리케이션 및 사용자 지정 코드를 안전하게 빌드하고 배포할 수 있습니다.

이 자습서에서는 7부 중 2부에서 Azure Container Registry instance 배포하고 AKS에서 사용하기 위해 컨테이너 이미지를 푸시합니다. 이 문서에서 배울 내용은 다음과 같습니다.

  • Azure Container Registry 인스턴스 만들기
  • Azure Container Registry 컨테이너 이미지에 태그 지정
  • Azure Container Registry 이미지를 업로드합니다.
  • 레지스트리의 이미지 보기

이후 자습서에서는 이 Azure Container Registry instance Kubernetes 클러스터와 통합되고 이미지에서 애플리케이션이 배포됩니다.

시작하기 전에

이전 자습서에서는 간단한 Azure Voting 애플리케이션에 대한 컨테이너 이미지를 만드는 방법을 설명했습니다. Azure Voting 앱 이미지를 만들지 않은 경우 자습서 1 - 컨테이너 이미지 만들기로 돌아갑니다.

이 자습서에서는 Azure CLI 버전 2.0.53 이상을 실행해야 합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

Azure Container Registry 만들기

Azure Container Registry instance 만들려면 먼저 리소스 그룹이 필요합니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.

az group create 명령을 사용하여 리소스 그룹을 만듭니다. 다음 예제에서는 eastus 지역에 myResourceGroup이라는 리소스 그룹을 만듭니다.

az group create --name myResourceGroup --location eastus

az acr create 명령을 사용하여 Azure Container Registry 인스턴스를 만들고 고유한 레지스트리 이름을 입력합니다. 레지스트리 이름은 Azure 내에서 고유해야 하며, 5-50자의 영숫자만 포함해야 합니다. 이 자습서의 나머지 부분에서는 컨테이너 레지스트리 이름의 자리 표시자로 <acrName>을 사용합니다. 사용자 고유의 레지스트리 이름을 제공합니다. 기본 SKU는 개발을 위해 비용에 최적화된 진입점으로, 스토리지와 처리량의 균형을 적절하게 맞추었습니다.

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

컨테이너 레지스트리에 로그인

ACR 인스턴스를 사용하려면 먼저 로그인해야 합니다. az acr login 명령을 사용하고 이전 단계에서 컨테이너 레지스트리에 지정된 고유한 이름을 제공합니다.

az acr login --name <acrName>

이 명령은 완료되면 로그인 성공 메시지를 반환합니다.

컨테이너 이미지 태그 지정

현재 로컬 이미지 목록을 보려면 docker images 명령을 사용합니다.

docker images

이 명령의 출력에는 현재 로컬 이미지 목록이 표시됩니다.

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        7 minutes ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                     python3.6           a16ce562e863        6 weeks ago         944MB

Azure Container Registry azure-vote-front 컨테이너 이미지를 사용하려면 레지스트리의 로그인 서버 주소로 이미지에 태그를 지정해야 합니다. 이 태그는 컨테이너 이미지를 이미지 레지스트리에 밀어넣을 때 라우팅에 사용됩니다.

로그인 서버 주소를 가져오려면 다음과 같이 az acr list 명령을 사용하여 loginServer를 쿼리합니다.

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

이제 컨테이너 레지스트리의 acrLoginServer 주소를 사용하여 로컬 azure-vote-front 이미지에 태그를 지정합니다. 이미지 버전을 표시하려면 이미지 이름 끝에 :v1을 추가합니다.

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1

태그가 적용되었는지 확인하려면 docker 이미지를 다시 실행합니다.

docker images

이미지는 Azure Container Registry instance 주소와 버전 번호로 태그가 지정됩니다.

REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front    v1                  84b41c268ad9        16 minutes ago      944MB
mycontainerregistry.azurecr.io/azure-vote-front v1                  84b41c268ad9        16 minutes ago      944MB
mcr.microsoft.com/oss/bitnami/redis             6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                      python3.6           a16ce562e863        6 weeks ago         944MB

레지스트리에 이미지 푸시

이미지가 빌드되고 태그가 지정되면 azure-vote-front 이미지를 Azure Container Registry instance 푸시합니다. docker push를 사용하고 다음과 같이 이미지 이름에 대한 고유한 acrLoginServer 주소를 제공합니다.

docker push <acrLoginServer>/azure-vote-front:v1

Azure Container Registry 이미지 푸시를 완료하는 데 몇 분 정도 걸릴 수 있습니다.

레지스트리에서 이미지 나열

Azure Container Registry instance 푸시된 이미지 목록을 반환하려면 az acr repository list 명령을 사용합니다. 다음과 같이 고유의 <acrName>를 입력합니다.

az acr repository list --name <acrName> --output table

다음 예제 출력은 레지스트리에서 사용 가능한 azure-vote-front 이미지를 나열합니다.

Result
----------------
azure-vote-front

특정 이미지에 대한 태그를 보려면 az acr repository show-tags 명령을 사용합니다.

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

다음 예제 출력은 이전 단계에서 태그를 지정한 v1 이미지를 보여줍니다.

Result
--------
v1

이제 프라이빗 Azure Container Registry 인스턴스에 컨테이너 이미지가 저장되었습니다. 이 이미지는 다음 자습서에서 Azure Container Registry Kubernetes 클러스터로 배포됩니다.

다음 단계

이 자습서에서는 Azure Container Registry 만들고 Kubernetes 클러스터에서 사용할 이미지를 푸시했습니다. 다음 방법에 대해 알아보았습니다.

  • ACR(Azure Container Registry) 인스턴스 만들기
  • ACR에 대한 컨테이너 이미지 태그 지정
  • ACR에 이미지 업로드
  • 레지스트리의 이미지 보기

그 다음 자습서로 이동하여 Azure에서 Kubernetes 클러스터를 배포하는 방법을 알아보세요.