Aracılığıyla paylaş


Öğretici - Azure Kubernetes Service'e (AKS) uygulama dağıtma

Kubernetes, kapsayıcılı uygulamalar için dağıtılmış bir platform sunar. Kendi uygulamalarınızı ve hizmetlerinizi bir Kubernetes kümesine derleyip dağıtır ve kullanılabilirliği ve bağlantıyı kümenin yönetmesine izin verirsiniz.

Bu öğreticide, kubernetes kümesine örnek bir uygulama dağıtacaksınız. Şunları yapmayı öğreneceksiniz:

  • Kubernetes bildirim dosyasını güncelleştirin.
  • Kubernetes'te bir uygulama çalıştırın.
  • Uygulamayı test edin.

İpucu

AKS ile yapılandırma yönetimi için aşağıdaki yaklaşımları kullanabilirsiniz:

Başlamadan önce

Önceki öğreticilerde bir uygulamayı kapsayıcı görüntüsüne paketlediyseniz, görüntüyü Azure Container Registry'ye yüklediyseniz ve bir Kubernetes kümesi oluşturdunuz. Bu öğreticiyi tamamlamak için önceden oluşturulmuş aks-store-quickstart.yaml Kubernetes bildirim dosyasına ihtiyacınız vardır. Bu dosya Uygulama Kaynak Kodunda Öğretici 1 - Uygulamayı AKS için Hazırlama kısmından indirildi.

Bu öğretici için Azure CLI sürüm 2.0.53 veya üzeri gerekir. Sürümünüzü az --version ile kontrol edin. Yüklemek veya yükseltmek için bkz . Azure CLI'yı yükleme.

Bildirim dosyasını güncelleştirme

Bu öğreticilerde, Azure Container Registry (ACR) örneğiniz, örnek uygulamanın kapsayıcı görüntülerini depolar. Uygulamayı dağıtmak için Kubernetes bildirim dosyasındaki görüntü adlarını ACR oturum açma sunucunuzun adını içerecek şekilde güncelleştirmeniz gerekir.

  1. az acr list komutunu ve sorgusunu kullanarak oturum açma sunucunuzun adresini edinin ve oturum açma sunucunuzu sorgulayın.

    az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
    
  2. Kopyalanan aks-store-demo dizininde olduğunuzdan emin olun ve bildirim dosyasını bir metin düzenleyicisiyle açın aks-store-quickstart.yaml .

  3. image ghcr.io/azure-samples yerine ACR oturum açma sunucusu adınızı yazarak kapsayıcıların özelliğini güncelleştirin.

    containers:
    ...
    - name: order-service
      image: <acrName>.azurecr.io/aks-store-demo/order-service:latest
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:latest
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:latest
    ...
    
  4. Dosyayı kaydedip kapatın

Uygulamayı çalıştırma

  1. Bildirim dosyasını ayrıştıran ve tanımlı Kubernetes nesnelerini oluşturan komutunu kullanarak kubectl apply uygulamayı dağıtın.

    kubectl apply -f aks-store-quickstart.yaml
    

    Aşağıdaki örnek çıktı aks kümesinde başarıyla oluşturulan kaynakları gösterir:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    
  2. kubectl get pods komutunu kullanarak podları görüntüleyin ve dağıtımın başarılı olduğunu kontrol edin.

    kubectl get pods
    

Uygulamayı test etme

Uygulama çalıştırıldığında Kubernetes hizmeti, uygulamanın ön ucunu İnternet'te kullanıma sunar. Bu işlemin tamamlanması birkaç dakika sürebilir.

Komut Satırı

  1. İlerlemenizi izlemek için kubectl get service komutunu --watch bağımsız değişkeniyle kullanın.

    kubectl get service store-front --watch
    

    Başlangıçta, store-front hizmeti için EXTERNAL-IP, <pending> olarak gösterilir.

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP adres <pending>'den bir genel IP adresine değiştiğinde kubectl izleme işlemini durdurmak için CTRL-C kullanın.

    Aşağıdaki örnek çıktıda hizmete atanmış geçerli bir genel IP adresi gösterilmektedir:

    store-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s
    
  3. Web tarayıcısını açıp hizmetinizin dış IP adresine giderek uygulamayı çalışırken görüntüleyin: http://<external-ip>.

    AKS Store örnek uygulamasının ekran görüntüsü.

Uygulama yüklenmiyorsa, görüntü kayıt defterinizle ilgili bir yetkilendirme sorunu olabilir. Kapsayıcılarınızın durumunu görüntülemek için kubectl get pods komutunu kullanın. Kapsayıcı görüntülerini çekemiyorsanız, Azure Kubernetes Service'ten Azure Container Registry ile kimlik doğrulaması yapma bölümüne bakın.

Azure portal

Dağıtım bilgilerinizi bulmak için Azure portalına gidin.

  1. AKS küme kaynağınıza gidin.

  2. Hizmet menüsünde, Kubernetes Kaynakları'nın altında Hizmetler ve girişler'i seçin.

  3. store-front hizmetinin sütununda gösterilen Dış IP'yi kopyalayın.

  4. Mağaza sayfanızı ziyaret etmek için TARAYıCıNıZA IP'yi yapıştırın.

    AKS Store örnek uygulamasının ekran görüntüsü.

Kaynakları temizleme

Uygulamanın işlevselliğini doğruladığınız için artık kümeyi uygulamadan kaldırabilirsiniz. Sonraki öğreticide uygulamayı yeniden dağıtacağız.

  1. komutunu kullanarak kubectl delete kapsayıcı örneklerini ve kaynaklarını durdurun ve kaldırın.

    kubectl delete -f aks-store-quickstart.yaml
    
  2. komutunu kullanarak kubectl get pods tüm uygulama podlarının kaldırılıp kaldırılmadığını denetleyin.

    kubectl get pods
    

Sonraki adımlar

Bu öğreticide AKS'deki kubernetes kümesine örnek bir Azure uygulaması dağıttınız. Şunları öğrendiniz:

  • Kubernetes bildirim dosyasını güncelleştirin.
  • Kubernetes'te bir uygulama çalıştırın.
  • Uygulamayı test edin.

Sonraki öğreticide Kubernetes'te durum bilgisi olan iş yükleri için PaaS hizmetlerini kullanmayı öğreneceksiniz.