Alıştırma - Azure Kubernetes Service kümenize uygulama dağıtma

Tamamlandı

Bu alıştırmada, şirketinizin arka uç mesajlaşma hizmetini Azure Kubernetes Service'e (AKS) test uygulaması olarak dağıtacaksınız. Hizmet, önceki alıştırmada oluşturduğunuz Redis PaaS hizmetine bağlanır.

Not

Hizmetin kodu GitHub deposunda kullanılabilir.

Redis'te liste oluşturma

Redis'te bir liste oluşturmanız ve verileri alan bir kuyruğun benzetimini yapmak için listeyi bazı rastgele öğelerle doldurmanız gerekir. Kuyruktaki her öğe, mikro hizmetin işleyecekleri bir şeyi temsil eder. Bu alıştırmada statik sayıda öğe ekleyeceksiniz. Alıştırmanın ilerleyen bölümlerinde mikro hizmeti kuyruktaki öğe sayısına ölçeklendireceksiniz.

  1. Docker'ın bilgisayarınızda çalıştığından emin olun.

  2. komutunu kullanarak Redis için Azure Cache bağlanmak için yerel olarak bir Redis kapsayıcısı docker run oluşturun:

    docker run -it --rm redis redis-cli -h $REDIS_HOST -a $REDIS_KEY
    

    Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:

    redis-contoso-video.redis.cache.windows.net:6379>
    
  3. Bir liste oluşturun ve komutunu kullanarak lpush keda rastgele öğelerle doldurun:

    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
    
  4. komutunu kullanarak llen keda listenin uzunluğunu doğrulayın:

    llen keda
    
  5. yazarak exitRedis kabuğundan çıkın.

Dağıtım bildirimi oluşturma

Uygulamanızı dağıtmak için bir Dağıtım bildirim dosyası oluşturursunuz. Bildirim dosyası, dağıtmak istediğiniz kaynak türünü ve iş yüküyle ilişkili ayrıntıları tanımlamanızı sağlar.

Kubernetes kapsayıcıları podlar olarak adlandırılan ve zeka içermeyen mantıksal yapılarda gruplandırır. Dağıtımlar, uygulamanızı oluşturmak için eksik olan zekayı ekler.

  1. Cloud Shell'de Kubernetes Dağıtımı için komutunu kullanarak touch adlı deployment.yaml bir bildirim dosyası oluşturun:

    touch deployment.yaml
    
  2. Cloud Shell’de code . yazarak tümleşik düzenleyiciyi açın

  3. deployment.yaml Dosyasını açın ve aşağıdaki bildirim kodunu yapıştırın. Redis ortam değişkenlerini kendi değerlerinizle değiştirdiğinden emin olun.

    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 ***
    
  4. Bildirim dosyasını (CTRL + S) kaydedin ve düzenleyiciyi (CTRL + Q) kapatın.

Bildirimi uygulama

  1. Komutunu kullanarak bildirimi kümenize dağıtın kubectl apply :

    kubectl apply -f ./deployment.yaml
    

    Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:

    deployment.apps/contoso-microservice created
    
  2. Komutunu kullanarak kubectl get deployment dağıtımın başarılı olduğunu doğrulayın:

    kubectl get deployment contoso-microservice
    

    Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:

    NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
    contoso-microservice   1/1     1            0           16s
    
  3. Komutunu kullanarak pod'un kubectl get pods çalıştığını doğrulayın:

    kubectl get pods
    

    Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:

    NAME                                    READY   STATUS    RESTARTS   AGE
    contoso-microservice-7c58c5f699-r79mv   1/1     Running   0          63s