Skróć czas wdrożenia dzięki funkcji przesyłania strumieniowego artefaktów w usłudze Azure Kubernetes Service (AKS) z usługą Azure Container Registry (ACR)

Duże obrazy kontenerów mogą wydłużać czas pobierania obrazu i opóźniać wdrożenie obciążenia roboczego. Przesyłanie strumieniowe artefaktów umożliwia przesyłanie strumieniowe obrazów kontenerów z Azure Container Registry (ACR) do Azure Kubernetes Service (AKS). Usługa AKS ściąga tylko niezbędne warstwy do początkowego uruchamiania zasobnika, co skraca czas wdrażania obciążeń.

W tym artykule opisano, jak włączać i wyłączać funkcję strumieniowego przesyłania artefaktów w pulach węzłów AKS, aby przesyłać artefakty z ACR.

Wymagania wstępne

Ograniczenia

  • Obsługiwane są tylko obrazy z architekturą Linux AMD64.
  • Obrazy kontenerów dla systemu Windows oraz obrazy ARM64 nie są obsługiwane.
  • Tylko architektura AMD64 jest obsługiwana w przypadku obrazów z wieloma architekturami.
  • Pule węzłów oparte na systemie Ubuntu w usłudze AKS muszą używać systemu Ubuntu w wersji 20.04 lub nowszej.
  • Obsługiwane są tylko rejestry ACR w warstwie Premium.
  • Rejestry CMK (klucze zarządzane przez klienta) nie są obsługiwane.
  • Platforma Kubernetes regcred, taka jak imagePullSecrets, nie jest obsługiwana. Pobieranie obrazu z usługi ACR przy użyciu poświadczeń tokenu mapowanego do zakresu innego niż Entra lub poświadczeń użytkownika administratora usługi ACR domyślnie odbywa się bez użycia funkcji Artifact Streaming, nawet jeśli pula węzłów i obraz są włączone dla przesyłania strumieniowego.
  • Przesyłanie strumieniowe artefaktów obsługuje tylko ściąganie obrazów według tagu. Przesyłanie strumieniowe artefaktów działa przez rozpoznawanie ściągnięcia obrazu według tagu do wariantu przesyłania strumieniowego obrazu. Jeśli obrazy są pobierane według skrótu kontrolnego, nie można używać Artifact Streaming.

Włącz przesyłanie strumieniowe artefaktów na ACR

  1. Utwórz grupę zasobów platformy Azure do przechowywania instancji usługi ACR przy użyciu polecenia az group create.

    az group create --name myStreamingTest --location westus
    
  2. Utwórz nową jednostkę SKU Premium dla ACR za pomocą polecenia az acr create z flagą --sku Premium.

    az acr create --resource-group myStreamingTest --name mystreamingtest --sku Premium
    
  3. Skonfiguruj domyślne wystąpienie usługi ACR dla subskrypcji przy użyciu polecenia az configure.

    az configure --defaults acr="mystreamingtest"
    
  4. Wypychanie lub importowanie obrazu do rejestru przy użyciu az acr import polecenia .

    az acr import --source docker.io/jupyter/all-spark-notebook --repository jupyter/all-spark-notebook
    
  5. Stwórz artefakt strumieniowania z obrazu przy użyciu polecenia az acr artifact-streaming create.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    
  6. Sprawdź wygenerowane streaming artefaktów przy użyciu polecenia az acr manifest list-referrers.

    az acr manifest list-referrers --name jupyter/all-spark-notebook:latest
    

Włącz przesyłanie strumieniowe artefaktów w usłudze AKS

Funkcję Artifact Streaming można włączyć w nowych lub istniejących pulach węzłów w klastrze AKS z integracją z usługą ACR.

Uwaga

Jeśli nie masz rejestru ACR w warstwie Premium zintegrowanego z klastrem AKS, nie możesz używać funkcji Artifact Streaming w AKS.

Włącz przesyłanie artefaktów strumieniowo w nowej puli węzłów

Utwórz nową pulę węzłów usługi AKS z włączoną funkcją Artifact Streaming przy użyciu polecenia az aks nodepool add z flagą --enable-artifact-streaming.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myNodePool \
    --enable-artifact-streaming

Włącz strumieniowanie artefaktów w istniejącej puli węzłów

Włącz funkcję Artifact Streaming w istniejącej puli węzłów usługi AKS za pomocą polecenia az aks nodepool update z flagą --enable-artifact-streaming.

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myNodePool \
    --enable-artifact-streaming

Wyłącz strumieniowanie artefaktów w istniejącej puli węzłów

Wyłącz przesyłanie strumieniowe artefaktów w istniejącej puli węzłów usługi AKS za pomocą polecenia az aks nodepool update z flagą --disable-artifact-streaming.

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myNodePool \
    --disable-artifact-streaming

Sprawdź stan włączenia strumieniowania artefaktów

Sprawdź, czy strumieniowe przesyłanie artefaktów jest włączone w puli węzłów AKS za pomocą polecenia az aks nodepool show z flagą --query ustawioną na artifactStreamingProfile.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myNodePool \
    --query artifactStreamingProfile

W danych wyjściowych sprawdź pole Enabled. true oznacza, że funkcja Artifact Streaming jest włączona, a false oznacza, że funkcja Artifact Streaming jest wyłączona.

W tym artykule opisano, jak włączać i wyłączać strumieniowanie artefaktów w pulach węzłów AKS, aby strumieniować artefakty z ACR i skrócić czas wdrożenia. Aby dowiedzieć się więcej na temat pracy z obrazami kontenerów w usłudze AKS, zobacz Najlepsze rozwiązania dotyczące zarządzania obrazami kontenerów i zabezpieczeń w usłudze AKS.