Kurz: Aktualizace aplikace v Azure Kubernetes Service na Azure Stack HCI a Windows Serveru

Po nasazení aplikace v Kubernetes v Azure Kubernetes Service (AKS) na Azure Stack HCI a Windows Serveru ji můžete aktualizovat zadáním nové image kontejneru nebo verze image. Měli byste provést aktualizaci tak, aby se současně aktualizovala jenom část nasazení. Tato fázovaná aktualizace umožňuje, aby aplikace během aktualizace běžela. Poskytuje také mechanismus vrácení zpět pro případ, že dojde k selhání nasazení.

Tento kurz, část šest ze sedmi, popisuje, jak aktualizovat ukázkovou aplikaci Azure Vote. V tomto kurzu se naučíte:

  • Aktualizace kódu front-endu aplikace
  • Vytvoření aktualizované image kontejneru
  • Odeslání image kontejneru do služby Azure Container Registry
  • Nasazení aktualizované image kontejneru

Než začnete

V předchozích kurzech jste se naučili:

  • Zabalte aplikaci do image kontejneru a nahrajte ji do Azure Container Registry.
  • Vytvořte cluster AKS ve službě Azure Stack HCI a nasaďte aplikaci do clusteru.
  • Naklonujte úložiště aplikací, které obsahuje zdrojový kód aplikace a předem vytvořený soubor Docker Compose, který můžete použít v tomto kurzu.

Ověřte, že jste vytvořili klon úložiště a změnili adresáře do klonovaného adresáře. Pokud jste tyto kroky nedokončili, začněte kurzem 1 – Vytvoření imagí kontejnerů.

Tento kurz vyžaduje spuštění Azure CLI verze 2.0.53 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Aktualizace aplikace

Tato část popisuje, jak provést změnu ukázkové aplikace a pak aktualizovat verzi, která je už nasazená ve službě AKS v clusteru Azure Stack HCI a Windows Serveru. Ujistěte se, že jste v naklonovaném adresáři azure-voting-app-redis . Zdrojový kód ukázkové aplikace pak najdete v adresáři azure-vote . V editoru, jako je například notepad, otevřete soubor config_file.cfg:

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

Změňte hodnoty pro VOTE1VALUE a VOTE2VALUE na jiné hodnoty, například barvy. Následující příklad ukazuje aktualizované hodnoty:

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

Uložte soubor a zavřete ho.

Aktualizace image kontejneru

Pokud chcete znovu vytvořit image front-endu a otestovat aktualizovanou aplikaci, použijte příkaz docker-compose. Argument --build se používá k opětovnému vytvoření image aplikace S:

docker-compose up --build -d

Test aplikace v místním prostředí

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.

Screenshot showing an example of the updated container image Azure Voting App running locally opened in a local web browser

Aktualizované hodnoty zadané v souboru config_file.cfg se zobrazí ve spuštěné aplikaci.

Označení a odeslání 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. Název přihlašovacího serveru získáte pomocí příkazu az acr list:

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

K označení image použijte docker tag. 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:

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

Teď pomocí příkazu docker push nahrajte image do registru. Nahraďte <acrLoginServer> názvem přihlašovacího serveru ACR.

Poznámka

Pokud dochází k problémům s nasdílením do registru ACR, ujistěte se, že jste stále přihlášení. Spusťte příkaz az acr login pomocí názvu vašeho Azure Container Registry, který jste vytvořili v kroku Vytvořit Azure Container Registry. Například, az acr login --name <azure container registry name>.

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

Nasazení aktualizované aplikace

Pokud chcete zajistit maximální dobu provozu, musíte spustit více instancí podu aplikace. Pomocí příkazu kubectl get pods ověřte počet spuštěných instancí front-endu:

$ 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 více front-endových podů, škálujte nasazení azure-vote-front následujícím způsobem:

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

K aktualizaci aplikace použijte příkaz kubectl set. Jako <acrLoginServer> použijte název přihlašovacího serveru nebo hostitele vašeho registru kontejneru a zadejte verzi aplikace v2:

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. Při nasazení aktualizované aplikace se vaše pody ukončí a vytvoří se znovu s novou imagí kontejneru.

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

$ 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é aplikace

Pokud chcete zobrazit aktualizovanou aplikaci, nejprve získejte externí IP adresu služby azure-vote-front:

kubectl get service azure-vote-front

Dále otevřete webový prohlížeč na IP adresu vaší služby:

Screenshot showing an example of the updated image Azure Voting App running in an AKS cluster opened in a local web browser.

Další kroky

V tomto kurzu jste aktualizovali aplikaci a tuto aktualizaci nasadili do clusteru AKS. Naučili jste se:

  • Aktualizace kódu front-endu aplikace
  • Vytvoření aktualizované image kontejneru
  • Odeslání image kontejneru do služby Azure Container Registry
  • Nasazení aktualizované image kontejneru

V dalším kurzu se dozvíte, jak upgradovat cluster AKS na novou verzi Kubernetes.