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.

Yedinin dördüncü bölümü olan 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:

  • GitOps: Kümenizin durumuna ilişkin bildirimlerin kümeye otomatik olarak uygulanmasını sağlar. Aks kümesiyle uygulama dağıtmak için GitOps'u kullanmayı öğrenmek için Flux v2 ile GitOps öğreticisindeki Azure Kubernetes Service kümelerinin önkoşullarına bakın.

  • DevOps: Sürekli tümleştirme (CI) ve sürekli teslim (CD) ile derlemenizi, test edip dağıtmanızı sağlar. Aks kümesiyle uygulama dağıtmak için DevOps kullanma örneklerini görmek için bkz. Kubernetes'e dağıtmak için Azure Pipelines veya GitHub Actions ile AKS'ye derleme ve dağıtma.

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 Öğretici 1 - Uygulamayı AKS için hazırlama bölümünden uygulama kaynak koduna indirildi.

Bu öğretici için Azure CLI sürüm 2.0.53 veya üzeri gerekir. ile sürümünüzü az --versiondenetleyin. 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 uygulama için 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. Oturum açma sunucunuz için komutunu ve sorgusunu az acr list kullanarak oturum açma sunucusu adresinizi alı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ı gibi vibir metin düzenleyicisiyle açın.

    vi 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 içinde vikullanın :wq.

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:

    deployment.apps/rabbitmq 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. ile podları görüntüleyerek dağıtımın başarılı olup olmadığını denetleyin kubectl

    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. bağımsız değişkeniyle komutunu kubectl get service kullanarak ilerleme durumunu --watch izleyin.

    kubectl get service store-front --watch
    

    Başlangıçta, EXTERNAL-IP mağaza ön hizmeti için beklemede olarak gösterilir:

    store-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s
    
  2. EXTERNAL-IP Adres bekleme durumundangerçek bir genel IP adresine değiştiğinde kubectl izleme işlemini durdurmak için kullanınCTRL-C.

    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. Hizmetinizin dış IP adresine bir web tarayıcısı açarak uygulamayı iş başında görüntüleyin.

    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 bkz . Azure Kubernetes Service'ten Azure Container Registry ile kimlik doğrulaması yapma.

Azure portal

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

  1. Kaynak Grubunuzu Azure portalında açma

  2. Kümeniz için Kubernetes hizmetine gidin

  3. Services and IngressKubernetes Resources

  4. Mağaza ön sütunu için sütunda gösterilen Dış IP'yi kopyalayın

  5. TARAYıCınıza IP'yi yapıştırın ve mağaza sayfanızı ziyaret edin

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

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.