Delen via


Zelfstudie: Een toepassing bijwerken in AKS die is ingeschakeld door Azure Arc

Van toepassing op: AKS in Azure Local 22H2, AKS op Windows Server

Nadat u een toepassing in Kubernetes hebt geïmplementeerd met behulp van AKS die door Arc is ingeschakeld, kunt u deze bijwerken door een nieuwe containerinstallatiekopieën of installatiekopieënversie op te geven. U moet een update faseerën zodat slechts een deel van de implementatie tegelijkertijd wordt bijgewerkt. Dankzij deze gefaseerde update kan de toepassing tijdens de update worden uitgevoerd. Het biedt ook een terugdraaimechanisme als er een implementatiefout optreedt.

In deze zelfstudie, deel zes van zeven, wordt beschreven hoe u de Azure Vote-voorbeeld-app bijwerkt. U leert het volgende:

  • De code van de front-endtoepassing bijwerken
  • Een bijgewerkte containerinstallatiekopie maken
  • De containerinstallatiekopieën naar Azure Container Registry pushen
  • De bijgewerkte containerinstallatiekopie implementeren

Voordat u begint

In eerdere zelfstudies hebt u geleerd hoe u het volgende kunt doen:

  • Verpakt een toepassing in een containerinstallatiekopieën en upload de installatiekopieën naar Azure Container Registry.
  • Maak een Kubernetes-cluster in Azure Local en implementeer de toepassing in het cluster.
  • Kloon een toepassingsopslagplaats met de broncode van de toepassing en een vooraf gemaakt Docker Compose-bestand dat u in deze zelfstudie kunt gebruiken.

Controleer of u een kloon van de opslagplaats hebt gemaakt en de mappen hebt gewijzigd in de gekloonde map. Als u deze stappen nog niet hebt voltooid, begint u met zelfstudie 1: Containerinstallatiekopieën maken.

Voor deze zelfstudie moet u Azure CLI versie 2.0.53 of hoger uitvoeren. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

Een toepassing bijwerken

In deze sectie wordt beschreven hoe u een wijziging aanbrengt in de voorbeeldtoepassing en vervolgens de versie bijwerkt die al in uw AKS-cluster is geïmplementeerd. Zorg ervoor dat u zich bevindt in de gekloonde map azure-voting-app-redis. De broncode van de voorbeeldtoepassing vindt u dan in de map azure-vote. Open het bestand config_file.cfg met een editor, zoals Kladblok:

notepad azure-vote/azure-vote/config_file.cfg

Wijzig de waarden voor VOTE1VALUE en VOTE2VALUE in verschillende waarden, zoals kleuren. In het volgende voorbeeld worden de bijgewerkte waarden weergegeven:

# UI Configurations
TITLE = 'Azure Voting App'
VOTE1VALUE = 'Blue'
VOTE2VALUE = 'Purple'
SHOWHOST = 'false'

Sla het bestand op en sluit het bestand.

De containerinstallatiekopie bijwerken

Gebruik docker-compose om de front-endinstallatiekopie opnieuw te maken en de bijgewerkte toepassing te testen. Het --build argument wordt gebruikt om de toepassingsinstallatiekopieën opnieuw te maken:

docker-compose up --build -d

De toepassing lokaal testen

Om te controleren of uw wijzigingen worden weergegeven in de bijgewerkte containerinstallatiekopie, opent u een lokale webbrowser met http://localhost:8080.

Schermopname van een voorbeeld van de bijgewerkte containerinstallatiekopieën van Azure Voting App die lokaal wordt geopend in een lokale webbrowser

De bijgewerkte waarden in config_file.cfg worden weergegeven in uw actieve toepassing.

De installatiekopie taggen en pushen

Als u de bijgewerkte installatiekopieën correct wilt gebruiken, tagt u de azure-vote-front-installatiekopieën met de naam van de aanmeldingsserver van uw Azure Container Registry-exemplaar. Haal de naam van de aanmeldingsserver op met de opdracht az acr list:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Gebruik docker tag om de installatiekopie te taggen. Vervang <acrLoginServer> de naam van de aanmeldingsserver van het containerregister of de hostnaam van het openbare register en werk de versie van de installatiekopie als volgt bij naar v2:

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v2

Gebruik nu docker push om de installatiekopie naar uw register te uploaden. Vervang <acrLoginServer> door de naam van de aanmeldingsserver van Azure Container Registry.

Notitie

Als u problemen ondervindt bij het pushen naar uw containerregister, moet u ervoor zorgen dat u nog steeds bent aangemeld. Voer de opdracht az acr login uit door de naam van de Azure Container Registry te gebruiken die u in stap Een Azure Container Registry maken hebt gemaakt. Bijvoorbeeld: az acr login --name <azure container registry name>.

docker push <acrLoginServer>/azure-vote-front:v2

De bijgewerkte toepassing implementeren

Als u maximale uptime wilt bieden, moet u meerdere exemplaren van de toepassingspod uitvoeren. Controleer het aantal actieve exemplaren van de front-end met de opdracht kubectl get pods:

$ kubectl get pods

NAME                               READY     STATUS    RESTARTS   AGE
azure-vote-back-217588096-5w632    1/1       Running   0          10m
azure-vote-front-233282510-b5pkz   1/1       Running   0          10m
azure-vote-front-233282510-dhrtr   1/1       Running   0          10m
azure-vote-front-233282510-pqbfk   1/1       Running   0          10m

Als u niet meerdere front-end-schillen hebt, kunt u de azure-vote-front-implementatie als volgt schalen:

kubectl scale --replicas=3 deployment/azure-vote-front

Gebruik de opdracht kubectl set om de toepassing bij te werken. Werk <acrLoginServer> bij met de aanmeldingsserver of hostnaam van uw containerregister en geef de v2-toepassingsversie op:

kubectl set image deployment azure-vote-front azure-vote-front=<acrLoginServer>/azure-vote-front:v2

Voor het controleren van de implementatie gebruikt u de opdracht kubectl get pod. Wanneer de bijgewerkte toepassing wordt geïmplementeerd, worden uw pods beëindigd en opnieuw gemaakt met de nieuwe containerinstallatiekopie:

kubectl get pods

De volgende voorbeelduitvoer toont schillen die worden beëindigd en nieuwe exemplaren die worden uitgevoerd naarmate de implementatie verder gaat:

$ kubectl get pods

NAME                               READY     STATUS        RESTARTS   AGE
azure-vote-back-2978095810-gq9g0   1/1       Running       0          5m
azure-vote-front-1297194256-tpjlg  1/1       Running       0          1m
azure-vote-front-1297194256-tptnx  1/1       Running       0          5m
azure-vote-front-1297194256-zktw9  1/1       Terminating   0          1m

De bijgewerkte toepassing testen

Als u de bijgewerkte toepassing wilt bekijken, moet u eerst het externe IP-adres van de azure-vote-front service ophalen:

kubectl get service azure-vote-front

Open vervolgens een webbrowser naar het IP-adres van uw service:

Schermopname van een voorbeeld van de bijgewerkte afbeelding van de Azure Voting App die wordt uitgevoerd in een Kubernetes-cluster dat is geopend in een lokale webbrowser.

Volgende stappen

In deze zelfstudie hebt u een toepassing bijgewerkt en deze update geïmplementeerd in uw Kubernetes-cluster. U hebt geleerd hoe u:

  • De code van de front-endtoepassing bijwerken
  • Een bijgewerkte containerinstallatiekopie maken
  • De containerinstallatiekopieën naar Azure Container Registry pushen
  • De bijgewerkte containerinstallatiekopie implementeren

Ga naar de volgende zelfstudie voor meer informatie over het upgraden van een cluster naar een nieuwe versie van Kubernetes.