Réduire le temps d’extraction d’images avec la diffusion en continu d’artefacts sur AKS (préversion)
Les charges de travail liées au calcul haute performance incluent souvent des images volumineuses, ce qui peut entraîner des temps d’extraction d’images longs et ralentir les déploiements de charge de travail. La diffusion en continu d’artefacts sur AKS vous permet de diffuser en continu des images conteneur depuis Azure Container Registry (ACR) vers AKS. AKS extrait uniquement les couches nécessaires pour le démarrage initial du pod, ce qui réduit le temps requis pour extraire des images et déployer vos charges de travail.
La diffusion en continu d’artefacts peut réduire le temps de préparation des pods de plus de 15 %, en fonction de la taille de l’image, et fonctionne de manière optimale pour les images de <30 Go. Selon nos tests, nous avons observé des temps réduits de minutes en secondes lors du démarrage de pods avec des images de <10 Go. Si vous avez un pod qui requiert l’accès à un fichier volumineux (>30 Go), vous devez le monter en tant que volume au lieu de le générer en tant que couche. Cela est dû au fait que si votre pod exige le démarrage de ce fichier, il encombre le nœud. Le diffusion en continu d’artefacts n’est pas idéale pour lire des images lourdes à partir de votre système de fichiers si vous en avez besoin au démarrage. Avec la diffusion en continu d’artefacts, le démarrage des pods devient simultané, alors que sans celui-ci, les pods démarrent en série.
Cet article explique comment activer la fonctionnalité de diffusion en continu d’artefacts sur vos pools de nœuds AKS pour diffuser des artefacts à partir d’ACR.
Important
Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les préversions sont fournies « en l’état » et « en fonction des disponibilités », et sont exclues des contrats de niveau de service et de la garantie limitée. Les préversions AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Telles quelles, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Prérequis
- Vous avez besoin d’un cluster AKS existant avec l’intégration ACR. Si vous n’en avez pas, vous pouvez en créer un à l’aide de l’authentification ACR à partir d’AKS.
- Activer la diffusion en continu d’artefacts sur ACR.
- Cette fonctionnalité nécessite Kubernetes version 1.25 ou ultérieure. Pour vérifier la version de votre cluster AKS, consultez Rechercher les mises à niveau disponibles de cluster AKS.
Remarque
La diffusion en continu d’artefacts est prise en charge uniquement sur les pools de nœuds Ubuntu 22.04, Ubuntu 20.04 et Azure Linux. Les pools de nœuds Windows ne sont pas pris en charge.
Installez l’extension CLI aks-preview
Installez l’extension CLI
aks-preview
à l’aide de la commandeaz extension add
.az extension add --name aks-preview
Mettez à jour l’extension pour vous assurer que la dernière version est installée à l’aide de la commande
az extension update
.az extension update --name aks-preview
Inscrire l’indicateur de fonctionnalité ArtifactStreamingPreview
dans votre abonnement
Inscrivez l’indicateur de fonctionnalité
ArtifactStreamingPreview
dans votre abonnement à l’aide de la commandeaz feature register
.az feature register --namespace Microsoft.ContainerService --name ArtifactStreamingPreview
Activer la diffusion en continu d’artefacts sur ACR
L’activation sur ACR est un prérequis pour la;diffusion en continu d’artefacts sur AKS. Pour plus d’informations, consultez diffusion en continu d’artefacts sur ACR.
Créez un groupe de ressources Azure pour contenir votre instance ACR à l’aide de la commande
az group create
.az group create --name myStreamingTest --location westus
Créez une référence SKU Premium Azure Container Registry à l’aide de la commande
az acr create
avec l’indicateur--sku Premium
.az acr create --resource-group myStreamingTest --name mystreamingtest --sku Premium
Configurez l’instance ACR par défaut pour votre abonnement à l’aide de la commande
az configure
.az configure --defaults acr="mystreamingtest"
Envoyez ou importez une image dans le registre de conteneurs à l’aide de la commande
az acr import
.az acr import --source docker.io/jupyter/all-spark-notebook:latest --repository jupyter/all-spark-notebook:latest
Créez une diffusion en continu d’artefacts à partir de l’image avec la commande
az acr artifact-streaming create
.az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
Vérifiez la diffusion en continu générée à l’aide de la commande
az acr manifest list-referrers
.az acr manifest list-referrers --name jupyter/all-spark-notebook:latest
Activer la diffusion en continu d’artefacts sur AKS
Activer la diffusion en continu d’artefacts sur un nouveau pool de nœuds
Créez un nouveau pool de nœuds avec la diffusion en continu d’artefacts activée à l’aide de la commande
az aks nodepool add
avec--enable-artifact-streaming
.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name myNodePool \ --enable-artifact-streaming
Activer la diffusion en continu d’artefacts sur un nouveau pool de nœuds
Mettez à jour un pool de nœuds existant pour activer la diffusion en continu d’artefacts à l’aide de la commande
az aks nodepool update
avec l’argument--enable-artifact-streaming
.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name myNodePool \ --enable-artifact-streaming
Vérifier si la diffusion en continu d’artefacts est activée
Maintenant que la diffusion en continu d’artefacts est activée sur un ACR Premium et que celui-ci est connecté à un pool de nœuds AKS, tous les nouveaux déploiements de pods sur ce cluster avec une image extraite de l’ACR verront des réductions dans les temps d’extraction d’images.
Vérifiez si la diffusion en continu d’artefacts est activée à l’aide de la commande
az aks nodepool show
.az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --name myNodePool --query artifactStreamingProfile
À la sortie, vérifiez que le champ
Enabled
est défini surtrue
.
Étapes suivantes
Cet article montre comment activer la diffusion en continu d’artefacts sur vos pools de nœuds AKS pour diffuser des artefacts à partir d’ACR et réduire le temps d’extraction d’images. Pour en savoir plus sur l’utilisation d’images conteneur dans AKS, consultez les meilleures pratiques pour la gestion et la sécurité des images conteneur dans AKS.
Azure Kubernetes Service