Pull-tijd voor installatiekopieën verminderen met Artifact Streaming in Azure Kubernetes Service (AKS) (preview)

Rekenworkloads met hoge prestaties hebben vaak betrekking op grote installatiekopieën, wat lange pull-tijden voor installatiekopieën kan veroorzaken en uw workloadimplementaties kan vertragen. Met artefactstreaming op AKS kunt u containerinstallatiekopieën streamen van Azure Container Registry (ACR) naar AKS. AKS haalt alleen de benodigde lagen op voor het opstarten van de eerste pod, waardoor het minder tijd kost om installatiekopieën op te halen en uw workloads te implementeren.

Artefactstreaming kan de gereedheid van pods met meer dan 15% verminderen, afhankelijk van de grootte van de installatiekopieën en het werkt het beste voor afbeeldingen <van 30 GB. Op basis van onze tests zagen we verminderingen in opstarttijden voor pods van <10 GB van minuten tot seconden. Als u een pod hebt die toegang nodig heeft tot een groot bestand (>30 GB), moet u deze koppelen als een volume in plaats van deze als laag te bouwen. Dit komt omdat als uw pod vereist dat het bestand wordt gestart, het knooppunt opneemt. Artefactstreaming is niet ideaal voor het lezen van zware installatiekopieën uit uw bestandssysteem als u dat nodig hebt bij het opstarten. Met artefactstreaming wordt het opstarten van pods gelijktijdig, terwijl zonder deze pods serieel worden gestart.

In dit artikel wordt beschreven hoe u de functie Artefactstreaming op uw AKS-knooppuntgroepen inschakelt om artefacten uit ACR te streamen.

Belangrijk

AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals is' en 'als beschikbaar' en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

Vereisten

Notitie

Artefactstreaming wordt alleen ondersteund in Ubuntu 22.04-, Ubuntu 20.04- en Azure Linux-knooppuntgroepen. Windows-knooppuntgroepen worden niet ondersteund.

aks-preview De CLI-extensie installeren

  1. Installeer de aks-preview CLI-extensie met behulp van de az extension add opdracht.

    az extension add --name aks-preview
    
  2. Werk de extensie bij om ervoor te zorgen dat u de nieuwste versie hebt geïnstalleerd met behulp van de az extension update opdracht.

    az extension update --name aks-preview
    

ArtifactStreamingPreview De functievlag registreren in uw abonnement

  • Registreer de ArtifactStreamingPreview functievlag in uw abonnement met behulp van de az feature register opdracht.

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

Artefactstreaming inschakelen op ACR

Inschakelen op ACR is een vereiste voor artefactstreaming op AKS. Zie Artefactstreaming op ACR voor meer informatie.

  1. Maak een Azure-resourcegroep om uw ACR-exemplaar op te slaan met behulp van de az group create opdracht.

    az group create --name myStreamingTest --location westus
    
  2. Maak een nieuwe Premium SKU Azure Container Registry met behulp van de az acr create opdracht met de --sku Premium vlag.

    az acr create --resource-group myStreamingTest --name mystreamingtest --sku Premium
    
  3. Configureer het standaard ACR-exemplaar voor uw abonnement met behulp van de az configure opdracht.

    az configure --defaults acr="mystreamingtest"
    
  4. Push of importeer een installatiekopieën naar het register met behulp van de az acr import opdracht.

    az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
    
  5. Maak een streaming-artefact op basis van de installatiekopieën met behulp van de az acr artifact-streaming create opdracht.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    
  6. Controleer het gegenereerde artefactstreaming met behulp van de az acr manifest list-referrers opdracht.

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

Artefactstreaming inschakelen op AKS

Artefactstreaming inschakelen voor een nieuwe knooppuntgroep

  • Maak een nieuwe knooppuntgroep waarvoor Artefactstreaming is ingeschakeld met behulp van de az aks nodepool add opdracht .--enable-artifact-streaming

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

Artefactstreaming inschakelen voor een bestaande knooppuntgroep

  • Werk een bestaande knooppuntgroep bij om Artefactstreaming in te schakelen met behulp van de az aks nodepool update opdracht .--enable-artifact-streaming

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

Controleren of artefactstreaming is ingeschakeld

Nu u Artefactstreaming hebt ingeschakeld op een premium ACR en dat hebt verbonden met een AKS-knooppuntgroep waarvoor Artefactstreaming is ingeschakeld, zien alle nieuwe podimplementaties in dit cluster met een installatiekopie die wordt opgehaald uit de ACR waarvoor Artifact Streaming is ingeschakeld, verminderingen in pull-tijden voor afbeeldingen.

  • Controleer of artefactstreaming is ingeschakeld voor uw knooppuntgroep met behulp van de az aks nodepool show opdracht.

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

    Controleer in de uitvoer of het Enabled veld is ingesteld op true.

Volgende stappen

In dit artikel wordt beschreven hoe u Artefactstreaming op uw AKS-knooppuntgroepen kunt inschakelen om artefacten uit ACR te streamen en de pull-tijd van de installatiekopie te verminderen. Zie Best practices voor het beheren en beveiligen van containerinstallatiekopieën in AKS voor meer informatie over het werken met containerinstallatiekopieën in AKS.