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
- Potrzebujesz istniejącego klastra usługi AKS z integracją usługi ACR. Jeśli go nie masz, możesz go utworzyć przy użyciu uwierzytelniania za pomocą usługi ACR z usługi AKS.
- Włącz przesyłanie strumieniowe artefaktów w usłudze ACR.
- Ta funkcja wymaga platformy Kubernetes w wersji 1.25 lub nowszej. Aby sprawdzić wersję klastra usługi AKS, zobacz Sprawdzanie dostępnych uaktualnień klastra usługi AKS.
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
Zainstaluj rozszerzenie interfejsu
aks-preview
az extension add
wiersza polecenia przy użyciu polecenia .az extension add --name aks-preview
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życiuaz 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.
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
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
Skonfiguruj domyślne wystąpienie usługi ACR dla subskrypcji przy użyciu
az configure
polecenia .az configure --defaults acr="mystreamingtest"
Wypychanie lub importowanie obrazu do rejestru przy użyciu
az acr import
polecenia .az acr import --source docker.io/jupyter/all-spark-notebook:latest --repository jupyter/all-spark-notebook:latest
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
Sprawdź wygenerowane przesyłanie strumieniowe artefaktów przy
az acr manifest list-referrers
użyciu polecenia .az acr manifest list-referrers --name 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 natrue
wartość .
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.
Azure Kubernetes Service