Azure Container Registry의 아티팩트 스트리밍(미리 보기)

아티팩트 스트리밍은 단일 레지스트리 내에 컨테이너 이미지를 저장하고, 컨테이너 이미지를 관리하고, 여러 지역의 AKS(Azure Kubernetes Service) 클러스터로 스트리밍할 수 있는 Azure Container Registry의 기능입니다. 이 기능은 AKS를 사용하는 Azure 고객을 위해 컨테이너화된 워크로드를 가속화하도록 설계되었습니다. 아티팩트 스트리밍을 사용하면 노드의 느린 끌어오기 시간을 기다리지 않고도 워크로드를 쉽게 크기 조정할 수 있습니다.

사용 사례

아티팩트 스트리밍을 사용하는 몇 가지 시나리오는 다음과 같습니다.

여러 지역에 컨테이너화된 애플리케이션 배포: 아티팩트 스트리밍을 사용하면 단일 레지스트리 내에 컨테이너 이미지를 저장하고 여러 지역의 AKS 클러스터에 대한 컨테이너 이미지를 관리 및 스트리밍할 수 있습니다. 아티팩트 스트리밍은 시간과 리소스를 소비하지 않고 컨테이너 애플리케이션을 여러 지역에 배포합니다.

이미지 끌어오기 대기 시간 줄이기: 아티팩트 스트리밍은 이미지 크기에 따라 Pod 준비 시간을 15% 이상 줄일 수 있으며 이미지 < 30GB에 가장 적합합니다. 이 기능은 이미지 끌어오기 대기 시간과 빠른 컨테이너 시작을 줄여 소프트웨어 개발자와 시스템 설계자에게 유용합니다.

컨테이너화된 애플리케이션의 효과적인 크기 조정: 아티팩트 스트리밍은 컨테이너화된 애플리케이션을 대규모로 디자인, 빌드 및 배포할 수 있는 기회를 제공합니다.

아티팩트 스트리밍 측면

다음은 아티팩트 스트리밍의 몇 가지 간략한 측면입니다.

  • 신규 및 기존 레지스트리가 있는 고객은 특정 리포지토리 또는 태그에 대한 아티팩트 스트리밍을 시작할 수 있습니다.

  • 고객은 아티팩트 스트리밍을 시작하여 원본과 스트리밍 아티팩트를 모두 ACR에 저장할 수 있습니다.

  • 고객은 리포지토리 또는 아티팩트에 대한 아티팩트 스트리밍을 끈 후에도 원본 및 스트리밍 아티팩트에 액세스할 수 있습니다.

  • 아티팩트 스트리밍 및 일시 삭제가 사용하도록 설정된 고객은 리포지토리 또는 아티팩트를 삭제한 다음 원본 및 아티팩트 스트리밍 버전이 모두 삭제됩니다. 그러나 일시 삭제 포털에서는 원본 버전만 사용할 수 있습니다.

가용성 및 가격 책정 정보

아티팩트 스트리밍은 프리미엄서비스 계층(SKU라고도 함)에서만 사용할 수 있습니다. 아티팩트 스트리밍은 전체 레지스트리 스토리지 사용량을 증가시킬 가능성이 있습니다. 사용량이 포함된 500GiB 프리미엄 SKU 임계값을 초과하는 경우 고객에게는 가격 책정에 설명된 대로 추가 스토리지 요금이 부과됩니다.

미리 보기 제한 사항

아티팩트 스트리밍은 현재 미리 보기 상태입니다. 다음과 같은 제한 사항이 적용됩니다.

  • 미리 보기 릴리스에서는 Linux AMD64 아키텍처의 이미지만 지원됩니다.
  • 미리 보기 릴리스는 Windows 기반 컨테이너 이미지와 ARM64 이미지를 지원하지 않습니다.
  • 미리 보기 릴리스는 다중 아키텍처 이미지를 부분적으로 지원하며 AMD64 아키텍처만 지원됩니다.
  • AKS에서 Ubuntu 기반 노드 풀을 만들려면 Ubuntu 버전 20.04 이상을 선택합니다.
  • Kubernetes의 경우 Kubernetes 버전 1.26 이상 또는 Kubernetes 버전 > 1.25를 사용합니다.
  • 프리미엄 SKU 레지스트리만 미리 보기 릴리스에서 스트리밍 아티팩트 생성을 지원합니다. 비프리미엄 SKU 레지스트리는 미리 보기 중에 이 기능을 제공하지 않습니다.
  • CMK(고객 관리형 키) 레지스트리는 미리 보기 릴리스에서 지원되지 않습니다.
  • Kubernetes regcred는 현재 지원되지 않습니다.

필수 조건

  • Azure Cloud Shell 또는 Azure CLI의 로컬 설치를 사용하여 이 문서의 명령 예제를 실행할 수 있습니다. 로컬로 사용하려는 경우 2.54.0 이상 버전이 필요합니다. 버전을 찾으려면 az --version을 실행합니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

  • Azure Portal에 로그인합니다.

아티팩트 스트리밍 시작

ACR(Azure Container Registry)의 컨테이너 이미지에 대한 스트리밍 아티팩트를 푸시하고, 가져오고, 생성하기 위한 Azure CLI 명령 및 Azure Portal을 사용하여 시리즈로 아티팩트 스트리밍을 시작합니다. 이 지침에는 프리미엄SKU ACR 만들기, 이미지 가져오기, 스트리밍 아티팩트 만들기 및 아티팩트 스트리밍 작업 관리 프로세스가 간략하게 설명되어 있습니다. 필요한 경우 자리 표시자를 실제 값으로 바꿉니다.

이미지 푸시/가져오기 및 스트리밍 아티팩트 생성 - Azure CLI

아티팩트 스트리밍은 프리미엄 컨테이너 레지스트리 서비스 계층에서 사용할 수 있습니다. 아티팩트 스트리밍을 시작하려면 Azure CLI(버전 2.54.0 이상)를 사용하여 레지스트리를 업데이트합니다. 설치하거나 업그레이드하려면 Azure CLI 설치를 참조하세요.

다음 일반 단계에 따라 아티팩트 스트리밍을 시작합니다.

참고 항목

프리미엄 컨테이너 레지스트리가 이미 있는 경우 이 단계를 건너뛸 수 있습니다. 사용자가 기본 또는 표준 SKU를 사용하는 경우 다음 명령이 실패합니다. 코드는 Azure CLI로 작성되었으며 대화형 모드에서 실행할 수 있습니다. 명령을 실행하기 전에 자리 표시자를 실제 값으로 바꿔야 하세요.

  1. 다음을 통해 프리미엄 SKU를 사용하여 새 ACR(Azure Container Registry)을 만듭니다.

    예를 들어, az group create 명령을 실행하여 미국 서부 지역에 이름이 my-streaming-test인 Azure 리소스 그룹을 만든 다음 az acr create 명령을 실행하여 해당 리소스 그룹에 이름이 mystreamingtest인 프리미엄 Azure Container Registry를 만듭니다.

    az group create -n my-streaming-test -l westus
    az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
    
  2. 다음을 통해 이미지를 레지스트리로 푸시하거나 가져옵니다.

    예를 들어, [azconfigure] 명령을 실행하여 기본 ACR을 구성하고 az acr import 명령을 실행하여 Docker Hub에서 Jupyter Notebook 이미지를 mystreamingtest ACR로 가져옵니다.

    az configure --defaults acr="mystreamingtest"
    az acr import -source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
    
  3. 이미지에서 스트리밍하는 아티팩트 만들기

    지정된 이미지에서 스트리밍 아티팩트 만들기를 시작합니다.

    예를 들어, mystreamingtest ACR의 jupyter/all-spark-notebook:latest 이미지에서 스트리밍 아티팩트를 만들려면 az acr Artifact-streaming create 명령을 실행합니다.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    

참고 항목

작업 상태를 확인하기 위해 나중에 참조할 수 있도록 프로세스 중에 작업 ID가 생성됩니다.

  1. Azure CLI에서 생성된 아티팩트 스트리밍을 확인합니다.

    예를 들어, mystreamingtest ACR의 jupyter/all-spark-notebook:latest 이미지에 대한 스트리밍 아티팩트를 나열하려면 az acr manifest list-referrers 명령을 실행합니다.

    az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
    
  2. 아티팩트 스트리밍 만들기 취소(필요한 경우)

    변환이 아직 완료되지 않은 경우 스트리밍 아티팩트 만들기를 취소합니다. 작업이 중지됩니다.

    예를 들어, mystreamingtest ACR의 jupyter/all-spark-notebook:latest 이미지에 대한 변환 작업을 취소하려면 az acr artifact-streaming operation cancel 명령을 실행합니다.

    az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
    
  3. 리포지토리에서 자동 변환 시작

    새로 푸시되거나 가져온 이미지에 대해 리포지토리에서 자동 변환을 시작합니다. 시작되면 해당 리포지토리에 푸시된 새 이미지가 스트리밍 아티팩트 생성을 트리거합니다.

    참고 항목

    기존 이미지에는 자동 변환이 적용되지 않습니다. 기존 이미지를 수동으로 변환할 수 있습니다.

    예를 들어, mystreamingtest ACR의 jupyter/all-spark-notebook 리포지토리에 대한 자동 변환을 시작하려면 az acr artifact-streaming update 명령을 실행합니다.

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
    
  4. 새 이미지 jupyter/all-spark-notebook:newtag를 위 리포지토리에 푸시한 후 스트리밍 변환 진행률을 확인합니다.

    예를 들어, mystreamingtest ACR의 jupyter/all-spark-notebook:newtag 이미지에 대한 변환 작업 상태를 확인하려면 az acr artifact-streaming operation show 명령을 실행합니다.

    az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
    
  5. 변환 상태를 확인한 후에는 이제 AKS에 연결할 수 있습니다. AKS 설명서를 참조하세요.

  6. 리포지토리에서 스트리밍 아티팩트를 끕니다.

    예를 들어, mystreamingtest ACR에서 jupyter/all-spark-notebook:latest 이미지에 대한 스트리밍 아티팩트를 삭제하려면 az acr artifact-streaming update 명령을 실행합니다.

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false
    

참고 항목

아티팩트 스트리밍은 지역 복제 시작 여부에 관계없이 여러 지역에서 작동할 수 있습니다. 아티팩트 스트리밍은 프라이빗 엔드포인트를 통해 작동하고 연결할 수 있습니다.

이미지 푸시/가져오기 및 스트리밍 아티팩트 생성 - Azure Portal

아티팩트 스트리밍은 프리미엄SKU Azure Container Registry에서 사용할 수 있습니다. 아티팩트 스트리밍을 시작하려면 Azure Portal을 사용하여 레지스트리를 업데이트합니다.

Azure Portal에서 아티팩트 스트리밍을 만드는 단계를 따릅니다.

  1. Azure Container Registry로 이동합니다.

  2. 측면 메뉴서비스 아래에서 리포지토리를 선택합니다.

  3. 최근에 가져온 이미지를 선택합니다.

  4. Azure Portal에서 이미지를 변환하고 아티팩트 스트리밍을 만듭니다.

    스트리밍 아티팩트 만들기 단추가 강조 표시된 Azure Portal의 스크린샷.

  5. 참조 탭의 이미지에서 생성된 스트리밍 아티팩트를 확인합니다.

    스트리밍 아티팩트가 강조 표시된 Azure Portal의 스크린샷.

  6. 리포지토리에서 스트리밍되는 아티팩트를 삭제할 수도 있습니다.

    아티팩트 스트리밍 삭제 단추가 강조 표시된 Azure Portal의 스크린샷.

  7. 포털의 리포지토리에 액세스하여 자동 변환을 사용하도록 설정할 수도 있습니다. 활성은 리포지토리에서 자동 변환이 사용하도록 설정되었음을 의미합니다. 비활성은 리포지토리에서 자동 변환이 사용하지 않도록 설정되었음을 의미합니다.

    아티팩트 스트리밍 시작 단추가 강조 표시된 Azure Portal의 스크린샷.

참고 항목

리포지토리의 아티팩트 스트리밍 상태(비활성 또는 활성)에 따라 새로 푸시된 호환 이미지가 자동으로 변환되는지 여부가 결정됩니다. 기본적으로 모든 리포지토리는 아티팩트 스트리밍에 대해 비활성 상태입니다. 즉, 호환 가능한 새 이미지가 리포지토리에 푸시되면 아티팩트 스트리밍이 트리거되지 않으며 이미지가 자동으로 변환되지 않습니다. 새로 푸시된 이미지의 자동 변환을 시작하려면 리포지토리의 아티팩트 스트리밍을 활성 상태로 설정해야 합니다. 리포지토리가 활성 상태가 되면 리포지토리에 푸시되는 새로운 호환 컨테이너 이미지가 아티팩트 스트리밍을 트리거합니다. 해당 이미지의 자동 변환이 시작됩니다.

다음 단계