Skrócenie czasu ściągania obrazu przy użyciu przesyłania strumieniowego artefaktów w usłudze Azure Kubernetes Service (AKS) (wersja zapoznawcza)

Obciążenia obliczeniowe o wysokiej wydajności często obejmują duże obrazy, co może powodować długie czasy ściągania obrazu i spowalniać wdrożenia obciążeń. Przesyłanie strumieniowe artefaktów w usłudze AKS umożliwia przesyłanie strumieniowe obrazów kontenerów z usługi Azure Container Registry (ACR) do usługi AKS. Usługa AKS ściąga tylko niezbędne warstwy do początkowego uruchamiania zasobnika, skracając czas potrzebny na ściąganie obrazów i wdrażanie obciążeń.

Przesyłanie strumieniowe artefaktów może skrócić czas gotowości zasobnika o ponad 15%, w zależności od rozmiaru obrazu i działa najlepiej w przypadku obrazów <30 GB. W oparciu o nasze testy zaobserwowaliśmy redukcje czasu uruchamiania zasobnika dla obrazów <10 GB od minut do sekund. Jeśli masz zasobnik, który wymaga dostępu do dużego pliku (>30 GB), należy zainstalować go jako wolumin zamiast kompilować go jako warstwę. Jest to spowodowane tym, że jeśli zasobnik wymaga uruchomienia tego pliku, spowoduje to usunięcie węzła. Przesyłanie strumieniowe artefaktów nie jest idealne do odczytu ciężkich obrazów z systemu plików, jeśli jest to konieczne podczas uruchamiania. W przypadku przesyłania strumieniowego artefaktów uruchamianie zasobnika staje się współbieżne, natomiast bez niego zasobniki są uruchamiane szeregowo.

W tym artykule opisano sposób włączania funkcji przesyłania strumieniowego artefaktów w pulach węzłów usługi AKS w celu przesyłania strumieniowego artefaktów z usługi ACR.

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

Wymagania wstępne

Uwaga

Przesyłanie strumieniowe artefaktów jest obsługiwane tylko w pulach węzłów systemu Ubuntu 22.04, Ubuntu 20.04 i Azure Linux. Pule węzłów systemu Windows nie są obsługiwane.

Instalowanie rozszerzenia interfejsu aks-preview wiersza polecenia

  1. Zainstaluj rozszerzenie interfejsu aks-previewaz extension add wiersza polecenia przy użyciu polecenia .

    az extension add --name aks-preview
    
  2. Zaktualizuj rozszerzenie, aby upewnić się, że masz zainstalowaną najnowszą wersję przy użyciu az extension update polecenia .

    az extension update --name aks-preview
    

Rejestrowanie flagi ArtifactStreamingPreview funkcji w subskrypcji

  • Zarejestruj flagę ArtifactStreamingPreview funkcji w subskrypcji przy użyciu az feature register polecenia .

    az feature register --namespace Microsoft.ContainerService --name ArtifactStreamingPreview
    

Włączanie przesyłania strumieniowego artefaktów w usłudze ACR

Włączanie w usłudze ACR jest wymaganiem wstępnym dla przesyłania strumieniowego artefaktów w usłudze AKS. Aby uzyskać więcej informacji, zobacz Przesyłanie strumieniowe artefaktów w usłudze ACR.

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

    az group create --name myStreamingTest --location westus
    
  2. Utwórz nową jednostkę SKU Premium Azure Container Registry przy użyciu az acr create polecenia 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 az configure polecenia .

    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:latest -t jupyter/all-spark-notebook:latest
    
  5. Utwórz artefakt przesyłania strumieniowego na podstawie obrazu przy użyciu az acr artifact-streaming create polecenia .

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

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

Włączanie przesyłania strumieniowego artefaktów w usłudze AKS

Włączanie przesyłania strumieniowego artefaktów w nowej puli węzłów

  • Utwórz nową pulę węzłów z włączonym przesyłaniem strumieniowym artefaktów az aks nodepool add przy użyciu polecenia z poleceniem --enable-artifact-streaming.

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

Włączanie przesyłania strumieniowego artefaktów w istniejącej puli węzłów

  • Zaktualizuj istniejącą pulę węzłów, aby włączyć przesyłanie strumieniowe artefaktów przy użyciu polecenia za pomocą az aks nodepool update polecenia --enable-artifact-streaming.

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

Sprawdzanie, czy przesyłanie strumieniowe artefaktów jest włączone

Po włączeniu przesyłania strumieniowego artefaktów w usłudze ACR w warstwie Premium i nawiązaniu połączenia z pulą węzłów usługi AKS z włączoną funkcją przesyłania strumieniowego artefaktów wszystkie nowe wdrożenia zasobników w tym klastrze z obrazem ściąganym za pomocą usługi ACR z włączonym przesyłaniem strumieniowym artefaktów będą widzieć redukcje czasów ściągania obrazu.

  • Sprawdź, czy pula węzłów ma włączoną funkcję przesyłania strumieniowego artefaktów az aks nodepool show przy użyciu polecenia .

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

    W danych wyjściowych sprawdź, czy Enabled pole jest ustawione na truewartość .

Następne kroki

W tym artykule opisano sposób włączania przesyłania strumieniowego artefaktów w pulach węzłów usługi AKS w celu przesyłania strumieniowego artefaktów z usługi ACR i skrócenia czasu ściągania obrazu. 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.