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
.
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:
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.