Share via


Oktatóanyag: Alkalmazások frissítése az Azure Kubernetes Service-ben (AKS)

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 előkészítve, hogy az üzemelő példánynak csak egy része legyen egyszerre frissítve. 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

A korábbi oktatóanyagokban egy alkalmazást egy tárolórendszerképbe csomagoltak. A rendszerképet feltöltötte a Azure Container Registry, és létrehozott egy AKS-fürtöt. Az alkalmazást ezután üzembe helyezték az AKS-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 címtárakat a klónozott könyvtárra. Ha még nem végezte el ezeket a lépéseket, és követni szeretné a lépéseket, kezdje az 1. oktatóanyag – Tárolórendszerképek létrehozása című oktatóanyaggal.

Ehhez az oktatóanyaghoz az Azure CLI 2.0.53-es vagy újabb verzióját kell futtatnia. 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ítsük az AKS-fürtben már üzembe helyezett verziót. 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 megtalálható az azure-vote könyvtárban. Nyissa meg a config_file.cfg fájlt egy szerkesztővel (például vi):

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

Módosítsa a VOTE1VALUE és a VOTE2VALUE értékeket 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 fájlban vihasználja a következőt :wq: .

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.

Képernyőkép a helyi webböngészőben helyileg megnyitott azure voting app frissített tárolórendszerképéről

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. Kérje le a bejelentkezési kiszolgáló nevét az az acr list paranccsal:

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 :v2 é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üldés során, győződjön meg arról, hogy továbbra is bejelentkezett. Futtassa az az acr login parancsot a Azure Container Registry létrehozása lépésben létrehozott Azure Container Registry nevével. 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ő biztosításához az alkalmazás podjának 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-poddal, skálázza az azure-vote-front üzembe helyezést az alábbiak szerint:

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 v2 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 a helyi webböngészőben megnyitott AKS-fürtön futó frissített azure voting appról.

Következő lépések

Ebben az oktatóanyagban frissített egy alkalmazást, és bevezette ezt a frissítést az AKS-fürtre. 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.