Kurz: Aktualizace aplikace v AKS povolené službou Azure Arc

Platí pro: AKS v Azure Stack HCI 22H2, AKS na Windows Serveru

Po nasazení aplikace v Kubernetes pomocí služby AKS povolené službou Arc ji můžete aktualizovat zadáním nové image kontejneru nebo verze image. Aktualizaci byste měli rozfázovat 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, který je šestou částí sedmidílné série, 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 image do Azure Container Registry.
  • Vytvořte cluster Kubernetes v Azure Stack HCI a nasaďte aplikaci do clusteru.
  • Naklonujte úložiště aplikace, 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 na klonovaný adresář. Pokud jste tyto kroky nedokončili, začněte kurzem 1 – Vytváření imagí kontejnerů.

Tento kurz vyžaduje, abyste spustili 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 vašem clusteru AKS. 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 . Otevřete soubor config_file.cfg v editoru, například v Poznámkovém bloku:

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

Změňte hodnoty pro VOTE1VALUE a VOTE2VALUE na jiné hodnoty, například na 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 slouží k opětovnému vytvoření image aplikace:

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.

Snímek obrazovky znázorňující příklad aktualizované image kontejneru spuštěné místně otevřené aplikace Azure Voting v místním webovém prohlížeči

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

Označení a odeslání image

Pokud chcete aktualizovanou image správně použít, označte image azure-vote-front názvem přihlašovacího serveru vaší instance Azure Container Registry. 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 registru kontejneru nebo názvem hostitele veřejného registru a následujícím způsobem aktualizujte verzi image na verzi v2:

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. Místo <acrLoginServer> použijte název přihlašovacího serveru služby Azure Container Registry.

Poznámka

Pokud dochází k problémům s odesíláním do registru kontejneru, ujistěte se, že jste stále přihlášeni. Spusťte příkaz az acr login s názvem Azure Container Registry, který jste vytvořili v kroku Vytvoření 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 několik 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. Po nasazení aktualizované aplikace se pody ukončí a znovu vytvoří 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

Pak otevřete webový prohlížeč a zobrazte IP adresu vaší služby:

Snímek obrazovky znázorňující příklad aktualizované image hlasovací aplikace Azure běžící v clusteru Kubernetes otevřeného v místním webovém prohlížeči

Další kroky

V tomto kurzu jste aktualizovali aplikaci a tuto aktualizaci jste nasadí do clusteru Kubernetes. 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 na novou verzi Kubernetes.