Oktatóanyag: Alkalmazás frissítése a Azure Stack HCI-n üzemelő Azure Kubernetes Service

A Kubernetesben való telepítésüket követően az alkalmazások egy új tárolórendszerkép- vagy rendszerképverzió megadásával frissíthetőek. A frissítés úgy van szakaszos, hogy az üzembe helyezésnek csak egy része frissül egyidejűleg. Ennek az eltolásos frissítésnek köszönhetően az alkalmazás a frissítés során is tovább fut. Ezen kívül visszaállítási mechanizmust is biztosít az üzembe helyezés során fellépő hibák esetére.

Ebben az oktatóanyagban, amely egy hétrészes sorozat hatodik része, az Azure Vote mintaalkalmazást frissítjük. Az alábbiak végrehajtásának módját ismerheti meg:

  • Az előtér-alkalmazás kódjának frissítése
  • Frissített tárolórendszerkép létrehozása
  • A tárolórendszerkép leküldése az Azure Container Registrybe
  • A frissített tárolórendszerkép üzembe helyezése

Előkészületek

Az előző oktatóanyagokban egy alkalmazást csomagoltak egy tároló-rendszerképbe. Ez a kép fel lett töltve a Azure Container Registry, ön pedig létrehozott egy AKS-t Azure Stack HCI fürtön. Az alkalmazást ezután üzembe helyezték a fürtön.

Emellett klónoztunk egy alkalmazás-adattárat, amely tartalmazza az alkalmazás forráskódját, valamint a jelen oktatóanyagban használt, előre létrehozott Docker Compose-fájlt. Ellenőrizze, hogy létrehozta-e az adattár klónját, és módosította-e a könyvtárakat a klónozott könyvtárra. Ha még nem követte ezeket a lépéseket, és szeretné követni a lépéseket, kezdje az 1. oktatóanyag – Tároló rendszerképek létrehozása lépéssel.

Ehhez az oktatóanyaghoz az Azure CLI 2.0.53-as vagy újabb verziójára lesz szükség. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Alkalmazás frissítése

Módosítsuk a mintaalkalmazást, majd frissítjük a már üzembe helyezett verziót az AKS-Azure Stack HCI fürtön. Győződjön meg arról, hogy a klónozott azure-voting-app-redis könyvtárban van. A mintaalkalmazás forráskódja ezután az azure-vote könyvtárban található. Nyissa meg a config_file.cfg fájlt egy szerkesztővel (például ):

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

Módosítsa a VOTE1VALUE és VOTE2VALUE értékeit különböző értékekre, például színekre. Az alábbi példa a frissített értékeket mutatja be:

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

Mentse és zárja be a fájlt.

A tárolórendszerkép frissítése

Az előtéri rendszerkép újbóli létrehozásához és a frissített alkalmazás teszteléséhez használja a docker-compose parancsot. A --build argumentummal lehet utasítani a Docker Compose-t, hogy hozza újra létre az alkalmazás rendszerképét:

docker-compose up --build -d

Az alkalmazás helyi tesztelése

Ha ellenőrizni szeretné, hogy a frissített tárolórendszerkép megjeleníti-e a módosításokat, nyissa meg a http://localhost:8080 címet egy helyi böngészőben.

Helyi böngészőben megnyitott azure-szavazóalkalmazás frissített tárolóképét bemutató képernyőkép

A config_file.cfg fájlban megadott frissített értékek megjelennek a futó alkalmazásban.

A rendszerkép címkézése és leküldése

A frissített rendszerkép megfelelő használatához címkézze fel az azure-vote-front rendszerképet az ACR-beállításjegyzék bejelentkezési kiszolgálójának nevével. A bejelentkezési kiszolgáló nevét az az acr list paranccsal lehet lekérte:

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

A docker tag paranccsal címkézze fel a rendszerképet. Az <acrLoginServer> helyére az ACR bejelentkezési kiszolgáló nevét vagy a nyilvános beállításjegyzék gazdanevét írja, és frissítse a rendszerkép verzióját a <acrLoginServer> értékre a következőképpen:

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

Most a docker push paranccsal töltse fel a rendszerképet a regisztrációs adatbázisba. Az <acrLoginServer> helyére az ACR bejelentkezési kiszolgálójának nevét írja be.

Megjegyzés

Ha problémákat tapasztal az ACR-beállításjegyzékbe való leküldve, győződjön meg arról, hogy továbbra is be van jelentkezve. Futtassa az az acr login parancsot a create an Azure Container Registry lépésben létrehozott Azure Container Registry nevét használva. Például: az acr login --name <azure container registry name>.

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

A frissített alkalmazás üzembe helyezése

A maximális üzemidő érdekében az alkalmazáspod több példányának kell futnia. Ellenőrizze a futó előtérbeli példányok számát a kubectl get pods paranccsal:

$ 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

Ha nem rendelkezik több előtér-podtal, skálázja az azure-vote-front üzemelő példányt a következőképpen:

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

Az alkalmazás frissítéséhez használja a kubectl set parancsot. Az <acrLoginServer> helyére a tárolóregisztrációs adatbázis bejelentkezési kiszolgálójának nevét vagy gazdanevét írja, és adja meg a <acrLoginServer> alkalmazásverziót:

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

Az üzemelő példány monitorozásához használja a kubectl get pod parancsot. A frissített alkalmazás üzembe helyezése során a rendszer a podokat megszünteti, majd az új tárolórendszerképpel újból létrehozza.

kubectl get pods

A következő példa megszűnő podokat és új futó példányokat mutat be az üzembe helyezés előrehaladtával:

$ 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

A frissített alkalmazás tesztelése

A frissített alkalmazás megtekintéséhez először kérje le az azure-vote-front szolgáltatás külső IP-címét:

kubectl get service azure-vote-front

Most nyisson meg egy webböngészőt a szolgáltatás IP-címére:

Képernyőkép egy helyi webböngészőben megnyitott AKS-fürtben futó frissített Azure-szavazóalkalmazásról.

Következő lépések

Ebben az oktatóanyagban frissített egy alkalmazást, és frissítette ezt a frissítést az AKS-fürtön. Megtanulta végrehajtani az alábbi műveleteket:

  • Az előtér-alkalmazás kódjának frissítése
  • Frissített tárolórendszerkép létrehozása
  • A tárolórendszerkép leküldése az Azure Container Registrybe
  • A frissített tárolórendszerkép üzembe helyezése

Folytassa a következő oktatóanyaggal, amely az AKS-fürtök új Kubernetes-verzióra történő frissítését ismerteti.