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 vi
haszná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.
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ö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.