Kurz: Aktualizace aplikace ve službě Azure Kubernetes Service (AKS)Tutorial: Update an application in Azure Kubernetes Service (AKS)

Aplikaci je možné po nasazení v Kubernetes aktualizovat zadáním nové image kontejneru nebo verze image.After an application has been deployed in Kubernetes, it can be updated by specifying a new container image or image version. Aktualizace je vynášené, takže se současně aktualizuje jenom část nasazení.An update is staged so that only a portion of the deployment is updated at the same time. Tato fázovaná aktualizace umožňuje, aby aplikace během aktualizace běžela.This staged update enables the application to keep running during the update. Poskytuje také mechanismus vrácení zpět pro případ, že dojde k selhání nasazení.It also provides a rollback mechanism if a deployment failure occurs.

V tomto kurzu, který je šestou částí sedmidílné série, se aktualizuje aplikace Azure Vote.In this tutorial, part six of seven, the sample Azure Vote app is updated. Získáte informace o těchto tématech:You learn how to:

  • Aktualizace kódu front-endu aplikaceUpdate the front-end application code
  • Vytvoření aktualizované image kontejneruCreate an updated container image
  • Odeslání image kontejneru do služby Azure Container RegistryPush the container image to Azure Container Registry
  • Nasazení aktualizované image kontejneruDeploy the updated container image

Než začneteBefore you begin

V předchozích kurzech se aplikace zabalila do image kontejneru.In previous tutorials, an application was packaged into a container image. Tato image se odeslala do Azure Container Registry a vytvoření clusteru AKS.This image was uploaded to Azure Container Registry, and you created an AKS cluster. Aplikace se pak nasadí do clusteru AKS.The application was then deployed to the AKS cluster.

Také se naklonovalo úložiště aplikace, které zahrnuje zdrojový kód aplikace, a předem se vytvořil soubor Docker Compose použitý v tomto kurzu.An application repository was also cloned that includes the application source code, and a pre-created Docker Compose file used in this tutorial. Ověřte, že jste vytvořili klon úložiště a změnili adresáře na klonovaný adresář.Verify that you've created a clone of the repo, and have changed directories into the cloned directory. Pokud jste tyto kroky nedokončili a chcete postupovat s námi, začněte tématem kurzu 1 – vytváření imagí kontejneru.If you haven't completed these steps, and want to follow along, start with Tutorial 1 – Create container images.

Tento kurz vyžaduje, že používáte Azure CLI verze 2.0.53 nebo novější.This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Verzi zjistíte spuštěním příkazu az --version.Run az --version to find the version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Aktualizace aplikaceUpdate an application

Teď upravíme ukázkovou aplikaci a pak aktualizujeme verzi, která je už nasazená v clusteru AKS.Let's make a change to the sample application, then update the version already deployed to your AKS cluster. Ujistěte se, že jste v klonované azure vote app-redis adresáře.Make sure that you're in the cloned azure-voting-app-redis directory. Zdrojový kód ukázkové aplikace můžete prvku najít azure-vote adresáře.The sample application source code can then be found inside the azure-vote directory. V editoru, jako je například vi, otevřete soubor config_file.cfg:Open the config_file.cfg file with an editor, such as vi:

vi azure-vote/azure-vote/config_file.cfg

Změnit hodnoty VOTE1VALUE a VOTE2VALUE na různé hodnoty, jako je například barvy.Change the values for VOTE1VALUE and VOTE2VALUE to different values, such as colors. Následující příklad ukazuje aktualizovanými hodnotami:The following example shows the updated values:

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

Uložte soubor a zavřete ho.Save and close the file. V vi, použijte :wq.In vi, use :wq.

Aktualizace image kontejneruUpdate the container image

Chcete-li znovu vytvořte image front-endu a otestování aktualizované aplikace, použijte docker-compose.To re-create the front-end image and test the updated application, use docker-compose. Jako instrukce pro Docker Compose, že se má znovu vytvořit image aplikace, se použije argument --build:The --build argument is used to instruct Docker Compose to re-create the application image:

docker-compose up --build -d

Test aplikace v místním prostředíTest the application locally

Pokud chcete ověřit, že se v aktualizované imagi kontejneru projevily provedené změny, otevřete místní webový prohlížeč a přejděte na adresu http://localhost:8080.To verify that the updated container image shows your changes, open a local web browser to http://localhost:8080.

Obrázek clusteru Kubernetes v Azure

Aktualizované hodnoty, které jsou součástí config_file.cfg souboru se zobrazí ve spuštěné aplikaci.The updated values provided in the config_file.cfg file are displayed in your running application.

Označení a odeslání imageTag and push the image

Abyste mohli aktualizovanou image správně používat, označte image azure-vote-front pomocí názvu přihlašovacího serveru vašeho registru ACR.To correctly use the updated image, tag the azure-vote-front image with the login server name of your ACR registry. Název přihlašovacího serveru získáte pomocí příkazu az acr list:Get the login server name with the az acr list command:

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

K označení image použijte docker tag.Use docker tag to tag the image. Nahraďte <acrLoginServer> názvem přihlašovacího serveru ACR nebo názvem hostitele veřejného registru a aktualizujte verzi image na :v2 následujícím způsobem:Replace <acrLoginServer> with your ACR login server name or public registry hostname, and update the image version to :v2 as follows:

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

Teď pomocí docker push odešlete image do registru.Now use docker push to upload the image to your registry. Nahraďte <acrLoginServer> názvem přihlašovacího serveru ACR.Replace <acrLoginServer> with your ACR login server name.

Poznámka

Pokud dochází k problémům doručením (push) do registru ACR, ujistěte se, že jste stále přihlášení.If you experience issues pushing to your ACR registry, make sure that you are still logged in. Spustit az acr login příkazu název vašeho registru kontejneru Azure, které jste vytvořili vytvoření služby Azure Container Registry kroku.Run the az acr login command using the name of your Azure Container Registry that you created in the Create an Azure Container Registry step. Například, az acr login --name <azure container registry name>.For example, az acr login --name <azure container registry name>.

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

Nasazení aktualizované aplikaceDeploy the updated application

Pokud chcete zadat maximální dobu provozu, musí být spuštěna více instancí podu aplikace.To provide maximum uptime, multiple instances of the application pod must be running. Zjistit, kolik spuštění front-endových instancí s kubectl get pods příkaz:Verify the number of running front-end instances with the kubectl get pods command:

$ 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

Pokud nemáte několik podů se front-endu, škálování azure-vote-front nasazení následujícím způsobem:If you don't have multiple front-end pods, scale the azure-vote-front deployment as follows:

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

K aktualizaci aplikace použijte příkaz kubectl set.To update the application, use the kubectl set command. Jako <acrLoginServer> použijte název přihlašovacího serveru nebo hostitele vašeho registru kontejneru a zadejte verzi aplikace v2:Update <acrLoginServer> with the login server or host name of your container registry, and specify the v2 application version:

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

K monitorování nasazení použijte příkaz kubectl get pod.To monitor the deployment, use the kubectl get pod command. Při nasazení aktualizované aplikace se vaše pody ukončí a vytvoří se znovu s novou imagí kontejneru.As the updated application is deployed, your pods are terminated and re-created with the new container image.

kubectl get pods

Následující příklad výstupu ukazuje ukončování podů a spouštění nových instancí v průběhu nasazení:The following example output shows pods terminating and new instances running as the deployment progresses:

$ 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

Test aktualizované aplikaceTest the updated application

Pokud chcete zobrazit aktualizovanou aplikaci, nejprve získejte externí IP adresu služby azure-vote-front:To view the update application, first get the external IP address of the azure-vote-front service:

kubectl get service azure-vote-front

Nyní otevřete místní webový prohlížeč na IP adresu vaší služby:Now open a local web browser to the IP address of your service:

Obrázek clusteru Kubernetes v Azure

Další postupNext steps

V tomto kurzu jste aktualizovali aplikaci a zavedli tuto aktualizaci do clusteru AKS.In this tutorial, you updated an application and rolled out this update to your AKS cluster. Naučili jste se tyto postupy:You learned how to:

  • Aktualizace kódu front-endu aplikaceUpdate the front-end application code
  • Vytvoření aktualizované image kontejneruCreate an updated container image
  • Odeslání image kontejneru do služby Azure Container RegistryPush the container image to Azure Container Registry
  • Nasazení aktualizované image kontejneruDeploy the updated container image

V dalším kurzu se dozvíte, jak upgradovat cluster AKS na novou verzi Kubernetes.Advance to the next tutorial to learn how to upgrade an AKS cluster to a new version of Kubernetes.