Containers in Azure Container Instances bijwerken

Tijdens de normale werking van uw containerinstanties vindt u het mogelijk nodig om de actieve containers in een containergroep bij te werken. U kunt bijvoorbeeld een eigenschap bijwerken, zoals een installatiekopieënversie, een DNS-naam of een omgevingsvariabele, of een eigenschap vernieuwen in een container waarvan de toepassing is vastgelopen.

Werk de containers in een actieve containergroep bij door een bestaande groep met ten minste één gewijzigde eigenschap opnieuw te implementeren. Wanneer u een containergroep bijwerkt, worden alle actieve containers in de groep opnieuw opgestart, meestal op dezelfde onderliggende containerhost.

Notitie

Beëindigde of verwijderde containergroepen kunnen niet worden bijgewerkt. Zodra een containergroep is beëindigd (de status Geslaagd of Mislukt heeft) of is verwijderd, moet de groep als nieuw worden geïmplementeerd. Zie andere beperkingen.

Een containergroep bijwerken

Een bestaande containergroep bijwerken:

  • Geef de opdracht create uit (of gebruik de Azure Portal) en geef de naam van een bestaande groep op
  • Wijzig of voeg ten minste één eigenschap van de groep toe die ondersteuning biedt voor update wanneer u opnieuw implementeert. Bepaalde eigenschappen bieden geen ondersteuning voor updates.
  • Stel andere eigenschappen in met de waarden die u eerder hebt opgegeven. Als u geen waarde instelt voor een eigenschap, wordt deze teruggezet naar de standaardwaarde.

Tip

Een YAML-bestand helpt bij het onderhouden van de implementatieconfiguratie van een containergroep en biedt een beginpunt voor het implementeren van een bijgewerkte groep. Als u een andere methode hebt gebruikt om de groep te maken, kunt u de configuratie exporteren naar YAML met behulp van az container export,

Voorbeeld

In het volgende Azure CLI-voorbeeld wordt een containergroep bijgewerkt met een nieuw DNS-naamlabel. Omdat de eigenschap DNS-naamlabel van de groep kan worden bijgewerkt, wordt de containergroep opnieuw geïmplementeerd en worden de containers opnieuw gestart.

Eerste implementatie met DNS-naamlabel myapplication-staging:

# Create container group
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication-staging

Werk de containergroep bij met een nieuw DNS-naamlabel, myapplication, en stel de resterende eigenschappen in met de waarden die eerder zijn gebruikt:

# Update DNS name label (restarts container), leave other properties unchanged
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication

Voordelen bijwerken

Het belangrijkste voordeel van het bijwerken van een bestaande containergroep is een snellere implementatie. Wanneer u een bestaande containergroep opnieuw implementeert, worden de lagen van de containerinstallatiekopieën opgehaald uit de lagen die door de vorige implementatie in de cache zijn opgeslagen. In plaats van alle installatiekopielagen nieuw uit het register te halen, zoals bij nieuwe implementaties, worden alleen gewijzigde lagen (indien van toepassing) opgehaald.

Toepassingen op basis van grotere containerinstallatiekopieën, zoals Windows Server Core, kunnen de implementatiesnelheid aanzienlijk verbeteren wanneer u bijwerkt in plaats van nieuwe te verwijderen en te implementeren.

Beperkingen

  • Niet alle eigenschappen van een containergroep ondersteunen updates. Als u bepaalde eigenschappen van een containergroep wilt wijzigen, moet u de groep eerst verwijderen en vervolgens opnieuw implementeren. Zie Eigenschappen waarvoor container moet worden verwijderd.
  • Alle containers in een containergroep worden opnieuw gestart wanneer u de containergroep bijwerkt. U kunt een specifieke container in een groep met meerdere containers niet bijwerken of ter plaatse opnieuw opstarten.
  • Het IP-adres van een containergroep wordt doorgaans bewaard tussen updates, maar het is niet gegarandeerd hetzelfde. Zolang de containergroep is geïmplementeerd op dezelfde onderliggende host, behoudt de containergroep het IP-adres. Hoewel dit zeldzaam is, zijn er enkele interne Azure-gebeurtenissen die herimplementatie naar een andere host kunnen veroorzaken. Om dit probleem te verhelpen, raden we u aan een DNS-naamlabel te gebruiken voor uw containerinstanties.
  • Beëindigde of verwijderde containergroepen kunnen niet worden bijgewerkt. Zodra een containergroep is gestopt (heeft de status Beëindigd ) of is verwijderd, wordt de groep geïmplementeerd als nieuw.

Notitie

De updateopdracht werkt mogelijk niet als de Azure-containergroep is gekoppeld aan een Azure Storage-profiel.

Eigenschappen waarvoor container moet worden verwijderd

Niet alle eigenschappen van containergroepen kunnen worden bijgewerkt. Als u bijvoorbeeld het beleid voor opnieuw opstarten van een container wilt wijzigen, moet u eerst de containergroep verwijderen en vervolgens opnieuw maken.

Voor wijzigingen in deze eigenschappen moet de containergroep worden verwijderd voordat de implementatie opnieuw wordt uitgevoerd:

  • Type besturingssysteem
  • CPU-, geheugen- of GPU-resources
  • Beleid voor opnieuw starten
  • Netwerkprofiel
  • Beschikbaarheidszone

Belangrijk

Netwerkprofielen zijn buiten gebruik gesteld vanaf de 2021-07-01 API-versie. Als u deze of een recentere versie gebruikt, negeert u alle stappen en acties met betrekking tot netwerkprofielen.

Wanneer u een containergroep verwijdert en opnieuw maakt, wordt deze niet opnieuw geïmplementeerd, maar wordt er een nieuwe gemaakt. Alle installatiekopielagen worden nieuw uit het register gehaald, niet uit de lagen die in de cache zijn opgeslagen door een eerdere implementatie. Het IP-adres van de container kan ook worden gewijzigd omdat het wordt geïmplementeerd op een andere onderliggende host.

Volgende stappen

De containergroep wordt meerdere keren in dit artikel genoemd. Elke container in Azure Container Instances wordt geïmplementeerd in een containergroep en containergroepen kunnen meer dan één container bevatten.

Containergroepen in Azure Container Instances

Een groep met meerdere containers implementeren

Containers in Azure Container Instances handmatig stoppen of starten