Kurz: Aktualizace aplikace v AKS povolená službou Azure Arc
Platí pro: AKS v Azure Local 22H2, AKS na Windows Serveru
Po nasazení aplikace v Kubernetes pomocí AKS povoleného službou Arc ji můžete aktualizovat zadáním nové image kontejneru nebo verze image. Měli byste provést fázi aktualizace, 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, 6. část 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 služby Azure Container Registry.
- Vytvořte cluster Kubernetes v místním Prostředí Azure 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 do naklonovaného adresáře. Pokud jste tyto kroky nedokončili, začněte kurzem 1 – Vytvoření imagí kontejneru.
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á v 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 pomocí editoru, například Poznámkového bloku:
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'
Soubor uložte a zavřete.
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
Testování 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
.
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 s názvem přihlašovacího serveru vaší instance služby 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 aktualizujte verzi image na verzi 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. Místo <acrLoginServer>
použijte název přihlašovacího serveru služby Azure Container Registry.
Poznámka:
Pokud máte problémy s nasdílením do registru kontejneru, ujistěte se, že jste stále přihlášení.
Spusťte příkaz az acr login pomocí názvu služby Azure Container Registry, který jste vytvořili v kroku Vytvoření služby 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. Po nasazení aktualizované aplikace se vaše 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
Dále otevřete webový prohlížeč na IP adresu vaší služby:
Další kroky
V tomto kurzu jste aktualizovali aplikaci a tuto aktualizaci nasadili 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.