İngilizce dilinde oku

Aracılığıyla paylaş


Hızlı Başlangıç: Azure Geliştirici CLI'sını kullanarak Azure Kubernetes Service (AKS) kümesi dağıtma

Azure Kubernetes Service (AKS), kümeleri hızla dağıtmanızı ve yönetmenizi sağlayan yönetilen bir Kubernetes hizmetidir. Bu hızlı başlangıçta şunları öğreneceksiniz:

  • Azure Geliştirici CLI'sını (azd ) indirin ve yükleyin.
  • Azure Geliştirici CLI şablonundan (azd şablon) uygulama kopyalama.
  • Azure Geliştirici CLI'sını (azd) kullanarak AKS kümesi dağıtma.
  • Perakende uygulamasının benzetimini sağlayan bir grup mikro hizmetle örnek bir çok kapsayıcılı uygulama çalıştırın.
  • Şablondan yapılan kapsayıcıları azd silin ve temizleyin.

Not

Aks kümesini hızlı bir şekilde sağlamaya başlamak için, bu makale yalnızca değerlendirme amacıyla varsayılan ayarlarla küme dağıtma adımlarını içerir. Üretime hazır bir kümeyi dağıtmadan önce, iş gereksinimlerinizle nasıl uyumlu olduğunu göz önünde bulundurmak için temel başvuru mimarimizi tanımanızı öneririz.

Başlamadan önce

Bu hızlı başlangıç, Kubernetes kavramlarının temel olarak bilindiğini varsayar. Daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) için Kubernetes temel kavramları.

Uygulama kodunu gözden geçirme

Uygulama kodunu Azure-Samples/aks-store-demo GitHub deposunda gözden geçirebilirsiniz.

Hızlı başlangıç uygulaması aşağıdaki Kubernetes dağıtımlarını ve hizmetlerini içerir:

Azure Store örnek mimarisini gösteren diyagram.

  • Mağaza ön: Müşterilerin ürünleri görüntülemesi ve sipariş vermesi için web uygulaması.
  • Ürün hizmeti: Ürün bilgilerini gösterir.
  • Sipariş hizmeti: Sipariş verir.
  • Rabbit MQ: Sipariş kuyruğu için ileti kuyruğu.

Not

Üretim kullanımı için kalıcı depolama alanı olmadan Rabbit MQ gibi durum bilgisi olan kapsayıcıları çalıştırmanızı önermeyiz. Bunlar burada kolaylık sağlamak için kullanılır, ancak bunun yerine Azure Cosmos DB veya Azure Service Bus gibi yönetilen hizmetleri kullanmanızı öneririz.

Azure Geliştirici CLI şablonunu kopyalama

  1. parametresiyle --template komutunu kullanarak Azure-Samples deposundan azd init AKS deposu tanıtım şablonunu kopyalayın.

    Azure Developer CLI
    azd init --template Azure-Samples/aks-store-demo
    
  2. Projeniz için yalnızca alfasayısal karakterler ve kısa çizgiler kullanan aks-azdqs-1 gibi bir ortam adı girin.

    Output
    Enter a new environment name: aks-azdqs-1
    

Azure Bulut hesabınızda oturum açın

Şablon, azd hizmetleri oluşturmak için gereken tüm kodu içerir, ancak uygulamayı AKS'de barındırmak için Azure hesabınızda oturum açmanız gerekir.

  1. komutunu kullanarak azd auth login hesabınızda oturum açın.

    Azure Developer CLI
    azd auth login
    
  2. Çıkışta görünen cihaz kodunu kopyalayın ve oturum açmak için Enter tuşuna basın.

    Output
    Start by copying the next code: XXXXXXXXX
    Then press enter and continue to log in from your browser...
    

    Önemli

    Ağ dışı bir sanal makine veya GitHub Codespace kullanıyorsanız, bazı Azure güvenlik ilkeleri ile azd auth loginoturum açmak için kullanıldığında çakışmalara neden olur. Burada bir sorunla karşılaşırsanız, [azd auth login][az-auth-login] çalıştırdıktan sonra yeniden yönlendirildiğiniz localhost URL'sine yönelik bir curl istek kullanmayı içeren aşağıda sağlanan azd kimlik doğrulaması geçici çözümünü izleyebilirsiniz.

  3. Kuruluşunuzun oturum açma sayfasında kimlik bilgilerinizle kimlik doğrulaması.

  4. Azure CLI'dan bağlanmaya çalıştığınızı onaylayın.

  5. "Cihaz kodu kimlik doğrulaması tamamlandı. Azure'da oturum açıldı." ifadesi özgün terminalinizde görünür.

    Output
    Waiting for you to complete authentication in the browser...
    Device code authentication completed.
    Logged in to Azure.
    

azd auth geçici çözümü

Bu geçici çözüm, Azure CLI'nin yüklü olmasını gerektirir.

  1. Bir terminal penceresi açın ve parametresi olarak ayarlanmış https://graph.microsoft.com/.defaultkomutunu kullanarak az login Azure CLI ile --scope oturum açın.

    Azure CLI
    az login --scope https://graph.microsoft.com/.default
    

    Aşağıdaki örnekte gösterildiği gibi tarayıcı erişim belirteci oluşturmak için yeni bir sekmedeki kimlik doğrulama sayfasına yönlendirilmelisiniz:

    Output
    https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?clientid=<your_client_id>.
    
  2. ile azd auth loginoturum açmayı denedikten sonra aldığınız web sayfasının localhost URL'sini kopyalayın.

  3. Yeni bir terminal penceresinde oturum açmak için aşağıdaki curl isteği kullanın. Yer tutucuyu <localhost> önceki adımda kopyaladığınız localhost URL'si ile değiştirdiğinizden emin olun.

    Console
    curl <localhost>
    

    Başarılı bir oturum açma işlemi, aşağıdaki örnekte gösterildiği gibi bir HTML web sayfasının çıkışını verir:

    Output
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="refresh" content="60;url=https://docs.microsoft.com/cli/azure/">
        <title>Login successfully</title>
        <style>
            body {
                font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            }
    
            code {
                font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
                display: inline-block;
                background-color: rgb(242, 242, 242);
                padding: 12px 16px;
                margin: 8px 0px;
            }
        </style>
    </head>
    <body>
        <h3>You have logged into Microsoft Azure!</h3>
        <p>You can close this window, or we will redirect you to the <a href="https://docs.microsoft.com/cli/azure/">Azure CLI documentation</a> in 1 minute.</p>
        <h3>Announcements</h3>
        <p>[Windows only] Azure CLI is collecting feedback on using the <a href="https://learn.microsoft.com/windows/uwp/security/web-account-manager">Web Account Manager</a> (WAM) broker for the login experience.</p>
        <p>You may opt-in to use WAM by running the following commands:</p>
        <code>
            az config set core.allow_broker=true<br>
            az account clear<br>
            az login
        </code>
    </body>
    </html>
    
  4. Geçerli terminali kapatın ve özgün terminali açın. Aboneliklerinizin JSON listesini görmeniz gerekir.

  5. id Kullanmak istediğiniz aboneliğin alanını kopyalayın.

  6. komutunu kullanarak az account set aboneliğinizi ayarlayın.

    Azure CLI
    az account set --subscription <subscription_id>
    

Kümeniz için kaynak oluşturma ve dağıtma

azd, uygulama hizmetlerini önceden kaydetmek, sağlamak ve dağıtmak için klasörün içindeki azd-hooks tüm kancaları çalıştırır.

Bu hızlı başlangıcın azd şablonu, AKS kümesi ve Azure anahtar kasası ile yeni bir kaynak grubu oluşturur. Anahtar kasası istemci gizli dizilerini depolar ve hizmetleri ad alanında pets çalıştırır

  1. komutunu kullanarak azd up tüm uygulama kaynaklarını oluşturun.

    Azure Developer CLI
    azd up
    
  2. Faturalama kullanımınız için bir Azure aboneliği seçin.

    Output
    ? Select an Azure Subscription to use:  [Use arrows to move, type to filter]
    > 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
    
  3. Uygulamanızın dağıtılacağı bölgeyi seçin.

    Output
    Select an Azure location to use:  [Use arrows to move, type to filter]
      1.  (South America) Brazil Southeast (brazilsoutheast)
      2.  (US) Central US (centralus)
      3.  (US) East US (eastus)
    > 43. (US) East US 2 (eastus2)
      4.  (US) East US STG (eastusstg)
      5.  (US) North Central US (northcentralus)
      6.  (US) South Central US (southcentralus)
    

    azd uygulamanızın kaynaklarını oluşturmak için ön sağlama ve sağlama sonrası komutlarını otomatik olarak çalıştırır. Bu işlemin tamamlanması birkaç dakika sürebilir. İşlem tamamlandıktan sonra aşağıdaki örneğe benzer bir çıkış görmeniz gerekir:

    Output
    SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
    

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. Kubernetes kümesini yönetmek için kubectl adlı Kubernetes komut satırı istemcisini kullanın. kubectl sırasında azd upzaten yüklüdür.

  1. komutunu kullanarak kubectl set-context ad alanınızı demo ad alanı pets olarak ayarlayın.

    Console
    kubectl config set-context --current --namespace=pets
    
  2. komutunu kullanarak kubectl get pods dağıtılan podların durumunu denetleyin. Devam etmeden önce tüm podların olduğundan Running emin olun.

    Console
    kubectl get pods
    
  3. Depo ön uygulaması için genel IP adresi olup olmadığını denetleyin ve bağımsız değişkeniyle komutunu kullanarak ilerleme durumunu kubectl get service --watch izleyin.

    Console
    kubectl get service store-front --watch
    

    Hizmetin EXTERNAL-IP çıkışı store-front başlangıçta beklemede olarak gösterilir:

    Output
    NAME          TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
    store-front   LoadBalancer   10.0.100.10   <pending>     80:30025/TCP   4h4m
    
  4. EXTERNAL-IP adresi bekleme durumundan gerçek bir genel IP adresine geçtikten kubectl sonra izleme işlemini durdurmak için kullanınCTRL-C.

    Aşağıdaki örnek çıktı hizmete atanmış geçerli bir genel IP adresini gösterir:

    Output
    NAME          TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
    store-front   LoadBalancer   10.0.100.10   20.62.159.19   80:30025/TCP   4h5m
    
  5. Azure Store uygulamasının çalıştığını görmek için hizmetinizin dış IP adresine bir web tarayıcısı açın.

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

Küme silme

Hızlı başlangıcı tamamladıktan sonra, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyin.

  1. komutunu kullanarak azd down hızlı başlangıçta oluşturulan tüm kaynakları silin.

    Azure Developer CLI
    azd down
    
  2. yazarak y ve tuşuna basarak Entertüm kullanılan kaynakları aboneliğinizden kaldırma kararınızı onaylayın.

    Output
    ? Total resources to delete: 14, are you sure you want to continue? (y/N)
    
  3. yazarak y ve tuşuna basarak Entertemizleme işleminin varsa hızlı başlangıç değişkenlerini yeniden kullanmasına izin verin.

    Output
    [Warning]: These resources have soft delete enabled allowing them to be recovered for a period or time after deletion. During this period, their names may not be reused. In the future, you can use the argument --purge to skip this confirmation.
    
    ? Would you like to permanently delete these resources instead, allowing their names to be reused? (y/N)
    

    Kaynaklar silindikten sonra aşağıdaki örneğe benzer bir çıkış görmeniz gerekir:

    Output
    SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
    

Not

Bu örnek uygulama tanıtım amaçlıdır ve Kubernetes uygulamaları için en iyi yöntemlerin tümünü temsil etmez. Üretim için AKS ile tam çözüm oluşturma yönergeleri için bkz . AKS çözümü kılavuzu.

Sonraki adımlar

Bu hızlı başlangıçta bir Kubernetes kümesi dağıttınız ve ardından basit bir çok kapsayıcılı uygulama dağıttınız. Bu örnek uygulama yalnızca tanıtım amaçlıdır ve Kubernetes uygulamaları için en iyi yöntemlerin tümünü temsil etmez. Üretim için AKS ile tam çözüm oluşturma yönergeleri için bkz . AKS çözümü kılavuzu.

AKS hakkında daha fazla bilgi edinmek ve eksiksiz bir koddan dağıtım örneğine gitmek için Kubernetes kümesi öğreticisine geçin.