Gyakorlat – Alkalmazás üzembe helyezése egy Azure Kubernetes Service-fürtben
Ebben a gyakorlatban a vállalat háttérbeli üzenetkezelési szolgáltatását fogja üzembe helyezni tesztalkalmazásként az Azure Kubernetes Service-ben (AKS). A szolgáltatás az előző gyakorlatban létrehozott Redis PaaS szolgáltatáshoz csatlakozik.
Feljegyzés
A szolgáltatás kódja elérhető a GitHub-adattárban.
Lista létrehozása a Redisben
Létre kell hoznia egy listát a Redisben, és fel kell töltenie néhány véletlenszerű elemet az adatok fogadó üzenetsorának szimulálásához. Az üzenetsor minden eleme olyasmit jelöl, amelyet a mikroszolgáltatás feldolgoz. Ebben a gyakorlatban statikus számú elemet fog hozzáadni. A gyakorlat későbbi részében a mikroszolgáltatást az üzenetsor elemeinek számára skálázza.
Győződjön meg arról, hogy a Docker fut a számítógépen.
Hozzon létre helyiLeg egy Redis-tárolót az Azure Cache for Redishez való csatlakozáshoz a
docker run
következő paranccsal:docker run -it --rm redis redis-cli -h $REDIS_HOST -a $REDIS_KEY
A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:
redis-contoso-video.redis.cache.windows.net:6379>
Hozzon létre egy listát, és töltse fel véletlenszerű elemekkel a
lpush keda
következő paranccsal:lpush keda Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris eget interdum felis, ac ultricies nulla. Fusce vehicula mattis laoreet. Quisque facilisis bibendum dui, at scelerisque nulla hendrerit sed. Sed rutrum augue arcu, id maximus felis sollicitudin eget. Curabitur non libero rhoncus, pellentesque orci a, tincidunt sapien. Suspendisse laoreet vulputate sagittis. Vivamus ac magna lacus. Etiam sagittis facilisis dictum. Phasellus faucibus sagittis libero, ac semper lorem commodo in. Quisque tortor lorem, sollicitudin non odio sit amet, finibus molestie eros. Proin aliquam laoreet eros, sed dapibus tortor euismod quis. Maecenas sed viverra sem, at porta sapien. Sed sollicitudin arcu leo, vitae elementum
Ellenőrizze a lista hosszát a
llen keda
következő paranccsal:llen keda
Lépjen ki a Redis-rendszerhéjból a beírással
exit
.
Üzembehelyezési jegyzék létrehozása
Az alkalmazás üzembe helyezéséhez létre kell hoznia egy üzembehelyezési jegyzékfájlt. A jegyzékfájl segítségével meghatározhatja, hogy milyen típusú erőforrást szeretne üzembe helyezni, valamint a számítási feladathoz kapcsolódó részleteket.
A Kubernetes a tárolókat logikai struktúrákba, úgynevezett podokba csoportosítja, amelyek nem rendelkeznek intelligenciával. Az üzemelő példányok jelentik a hiányzó intelligenciát az alkalmazás létrehozásához.
A Cloud Shellben hozzon létre egy jegyzékfájlt a Kubernetes-telepítéshez
deployment.yaml
atouch
következő paranccsal:touch deployment.yaml
Nyissa meg a Cloud Shell integrált szerkesztőjét a
code .
paranccsal.Nyissa meg a
deployment.yaml
fájlt, és illessze be a következő jegyzékkódba. Ügyeljen arra, hogy a Redis környezeti változóit cserélje le a saját értékeire.apiVersion: apps/v1 kind: Deployment metadata: name: contoso-microservice spec: replicas: 1 # Tells K8S the number of containers to process the Redis list items selector: # Define the wrapping strategy matchLabels: # Match all pods with the defined labels app: contoso-microservice # Labels follow the `name: value` template template: # Template of the pod inside the Deployment metadata: labels: app: contoso-microservice spec: containers: - image: mcr.microsoft.com/mslearn/samples/redis-client:latest name: contoso-microservice resources: requests: cpu: 100m memory: 128Mi limits: cpu: 100m memory: 128Mi env: - name: REDIS_HOST value: "redis-contoso-video.redis.cache.windows.net" # *** REPLACE with your value *** - name: REDIS_PORT value: "6379" # *** REPLACE with your value *** - name: REDIS_LIST value: "keda" # *** REPLACE with your value *** - name: REDIS_KEY value: "******************************************" # *** REPLACE with your value ***
Mentse a jegyzékfájlt (CTRL + S), és zárja be a szerkesztőt (CTRL + Q).
A jegyzékfájl alkalmazása
Helyezze üzembe a jegyzékfájlt a fürtben a
kubectl apply
következő paranccsal:kubectl apply -f ./deployment.yaml
A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:
deployment.apps/contoso-microservice created
Ellenőrizze, hogy az üzembe helyezés sikeres volt-e a
kubectl get deployment
következő paranccsal:kubectl get deployment contoso-microservice
A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:
NAME READY UP-TO-DATE AVAILABLE AGE contoso-microservice 1/1 1 0 16s
Ellenőrizze, hogy a pod fut-e a
kubectl get pods
következő paranccsal:kubectl get pods
A kimenetnek a következő példakimenethez hasonlóan kell kinéznie:
NAME READY STATUS RESTARTS AGE contoso-microservice-7c58c5f699-r79mv 1/1 Running 0 63s