Öğ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.

Örnek uygulamayı iki yolla dağıtabilirsiniz:

Bu öğreticide, örnek bir uygulamayı doğrudan iş istasyonunuzdan kubernetes kümesine dağıtır ve AKS masaüstü kullanarak uygulamayı yönetirsiniz. Şunları yapmayı öğreneceksiniz:

  • Kubernetes bildirim dosyasını güncelleştirin.
  • Kubernetes'te bir uygulama dağıtma.
  • Uygulamayı test edin.
  • AKS masaüstünde uygulama durumunu, günlüklerini, ölçümlerini ve bileşimini görüntüleyin.

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 eğitim, LoadBalancer hizmetleri gibi ücretlendirilebilir kaynaklar oluşturur ve günceller. İş yüklerini AKS'ye dağıtmak ve küme kaynaklarını okumak için izinlere sahip bir kimlik kullanın.

Bu öğretici AKS desktop'ın yüklenmesini gerektirir.

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. Kopyalanan aks-store-demo dizininde olduğunuzdan emin olun ve bildirim dosyasını bir metin düzenleyicisiyle açın aks-store-quickstart.yaml .

  2. 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:1.0
    ...
    - name: product-service
      image: <acrName>.azurecr.io/aks-store-demo/product-service:1.0
    ...
    - name: store-front
      image: <acrName>.azurecr.io/aks-store-demo/store-front:1.0
    ...
    

Uygulamayı çalıştırma

AKS masaüstü kullanarak uygulamayı dağıtma ve yönetme

AKS desktop, derin Kubernetes uzmanlığına gerek kalmadan uygulama dağıtımını ve yönetimini basitleştiren Azure Kubernetes Service (AKS) için uygulama odaklı bir geliştirici portalıdır.

AKS masaüstü ile kümenizi kaydetme

  1. AKS kümesine erişimi olan hesapla AKS masaüstünde oturum açtığınızdan emin olun. Oturum açtıktan sonra Azure Aboneliğinden Ekle'yi seçin.
  2. Birden fazla aboneliğiniz varsa Azure aboneliğinizin adını girin. (Alternatif olarak, açılan listeyi açmak için oku seçin ve ardından Azure aboneliğinizi seçin.)
  3. Kümenizi seçin ve ardından Kümeyi Kaydet'i seçin.

AKS masaüstünde küme durumu bağlı olarak göründüğünde devam edin.

AKS masaüstü uygulamasına küme eklemeyi gösteren video.

AKS masaüstünde yönetilen Proje oluşturma

  1. AKS masaüstünde Projeler sekmesine gidin ve Yeni Yönetilen Project Oluştur'u seçin.

  2. Aşağıdaki Project ayarlarını yapılandırın:

    • Temel Bilgiler:
      • Proje Adı: Örneğin, my-dev-frontend
      • Abonelik: <your-subscription-name>
      • Küme: <your-cluster-name>

    Uyarı

    Azure aboneliğini ve AKS kümesini ayarladığınızda, AKS masaüstü gerekli küme ve abonelik özelliği desteğini denetler.

    • Ağ İlkeleri: Bu hızlı başlangıç için varsayılan ayarları bırakabilir veya gerektiğinde güncelleştirebilirsiniz.

      • Uygulamayı genel kullanıma açmak için Giriş'i olarak Allow all trafficdeğiştirin.
    • İşlem Kotası: Test uygulamasının değerlerini ayarlayın. İşlem kotası değerlerini ayarlamayı gösteren ekran görüntüsü.

    • Erişim: Satır öğesini silerek birini ekleyin veya girdiyi silin.

  3. Gözden Geçir'in altında, Projenizin ayarlarını doğrulayın ve proje oluştur'u seçin.

    AKS masaüstünde yeni proje oluşturma işleminin ekran görüntüsü.

Uygulama dağıtmak

  1. Bir uygulama adı girin ve ardından Uygulama Oluştur'u seçin.

    AKS masaüstünde yeni uygulama oluşturma işleminin ekran görüntüsü.

  2. Uygulamanız için bir kaynak seçin. Bu örnek için Kubernetes YAML>İleri'yi seçin. Uygulama kaynağının seçilmesini gösteren ekran görüntüsü, Kubernetes YAML'yi seçin.

  3. dosyasını açın aks-store-quickstart.yaml, içeriğini kopyalayıp düzenleyiciye yapıştırın ve ardından İleri'yi seçin. Kopyalanan ve yapıştırılan YAML ile YAML Düzenleyicisi'ni gösteren ekran görüntüsü.

  4. Oluşturulan kaynakları gözden geçirin ve ardından Dağıt ve Kapat'ı seçin. Gözden Geçir ve Dağıt özetini gösteren ekran görüntüsü, Dağıt ve Kapat'ı seçin.

  5. Kaynakların dağıtılması birkaç dakika sürebilir. Bu süre boyunca, küme ölçeklendirilirken proje durumu Degraded olarak görüntülenebilir.

  6. Kaynaklar'ı ve ardından İş Yükleri'ni seçerek uygulama kaynaklarının durumunu denetleyin.

    Kaynakları ve değişikliklerini görüntülemek için Kaynaklar sekmesini gösteren ekran görüntüsü. Üst pencere menüsünden Gezin>Yeniden Yükle seçeneğini belirleyerek ekranın yenilenmesini zorlayabilirsiniz.

  7. Ayrıntılarını ve olaylarını görüntülemek için tek tek iş yükü kaynaklarını seçin.

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.

AKS masaüstü

  1. Kaynak>>Hizmet: store-front>Harici IP'den genel IP adresini alın. Uygulamanın genel IP adresini almayı gösteren ekran görüntüsü.

  2. Aks masaüstünde günlükleri ve ölçümleri görüntüleme gibi uygulamayı keşfedin. Daha fazla bilgi için bkz. AKS masaüstüne genel bakış.

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, EXTERNAL-IP hizmeti için store-front, <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 CTRL-C izleme işlemini durdurmak için kubectl 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.

AKS masaüstü

Uyarı

Sonraki öğretici adımına devam etmek istiyorsanız AKS masaüstü projesini silmeyin.

İşiniz bittiyse Sil simgesini seçin. Onay iletisinde Ad alanını da sil'i seçin. Projeyi silmek için çöp kutusu simgesini seçin

Komut satırı

  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.