Containers in Azure Container Instances bijwerken

Tijdens de normale werking van uw containerinstanties is het mogelijk nodig om de actieve containers in een containergroep bij te werken. U wilt 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 opnieuw te implementeren met ten minste één gewijzigde eigenschap. Wanneer u een containergroep bijwerkt, worden alle actieve containers in de groep in-place 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 worden geïmplementeerd als nieuw. Zie andere beperkingen.

Een containergroep bijwerken

Een bestaande containergroep bijwerken:

  • Geef de opdracht maken (of gebruik de Azure Portal) en geef de naam van een bestaande groep op
  • Wijzig of voeg ten minste één eigenschap toe van de groep die update ondersteunt wanneer u deze 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 voor een eigenschap instelt, 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 een eigenschap is die kan worden bijgewerkt, wordt de containergroep opnieuw geïmplementeerd en worden de containers opnieuw gestart.

Initiële 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 eerder gebruikte waarden:

# 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 bijbehorende containerinstallatiekopielagen opgehaald uit de lagen in de cache die door de vorige implementatie zijn opgeslagen. In plaats van alle installatiekopielagen op te halen die nieuw zijn uit het register, zoals wordt gedaan met nieuwe implementaties, worden alleen gewijzigde lagen (indien aanwezig) opgehaald.

Toepassingen op basis van grotere containerinstallatiekopieën, zoals Windows Server Core, kunnen aanzienlijke verbetering in de implementatiesnelheid zien 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 eerst de groep verwijderen en vervolgens opnieuw implementeren. Zie Eigenschappen waarvoor het verwijderen van containers is vereist.
  • Alle containers in een containergroep worden opnieuw opgestart wanneer u de containergroep bijwerkt. U kunt een update of in-place herstart van een specifieke container in een groep met meerdere containers niet uitvoeren.
  • Het IP-adres van een containergroep blijft doorgaans behouden tussen updates, maar blijft niet gegarandeerd hetzelfde. Zolang de containergroep is geïmplementeerd op dezelfde onderliggende host, behoudt de containergroep het IP-adres. Hoewel dit zelden gebeurt, zijn er enkele interne Azure-gebeurtenissen die een herimplementatie naar een andere host kunnen veroorzaken. U kunt dit probleem oplossen door een DNS-naamlabel te gebruiken voor uw containerinstanties.
  • Beëindigde of verwijderde containergroepen kunnen niet worden bijgewerkt. Zodra een containergroep is gestopt (de status Beëindigd heeft) of is verwijderd, wordt de groep geïmplementeerd als nieuw.

Notitie

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

Eigenschappen waarvoor container verwijderen is vereist

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 is verwijdering van containergroepen vereist voordat deze opnieuw worden geïmplementeerd:

  • 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 deze opnieuw maakt, wordt deze niet opnieuw geïmplementeerd, maar er is een nieuwe gemaakt. Alle installatiekopielagen worden nieuw opgehaald uit het register, niet uit de lagen in de cache die door een eerdere implementatie zijn opgeslagen. Het IP-adres van de container kan ook worden gewijzigd als gevolg van de implementatie op een andere onderliggende host.

Volgende stappen

Meerdere keren vermeld in dit artikel is de containergroep. 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