Azure CLI ile iş yükü profillerini yönetme

Azure CLI kullanarak iş yükü profilleri ortamını yönetmeyi öğrenin.

Profilde kapsayıcı uygulaması oluşturma

Varsayılan olarak, Container Apps ortamınız sizin için otomatik olarak oluşturulan yönetilen bir sanal ağ ile oluşturulur. Oluşturulan sanal ağlara, Microsoft kiracısında oluşturuldukları için erişemezsiniz.

Alternatif olarak, aşağıdaki özelliklerden herhangi birine ihtiyacınız varsa özel bir sanal ağ ile ortam oluşturabilirsiniz:

  • Kullanıcı tanımlı yollar
  • Application Gateway ile tümleştirme
  • Ağ Güvenlik Grupları
  • Sanal ağınızdaki özel uç noktaların arkasındaki kaynaklarla iletişim kurma

Özel bir sanal ağ ile ortam oluşturduğunuzda, sanal ağ yapılandırması üzerinde tam denetime sahipsinizdir. Bu denetim miktarı size aşağıdaki özellikleri uygulama seçeneği sunar:

  • Kullanıcı tanımlı yollar
  • Application Gateway ile tümleştirme
  • Ağ Güvenlik Grupları
  • Sanal ağınızdaki özel uç noktaların arkasındaki kaynaklarla iletişim kurma

İş yükü profilleri ortamı oluşturmak için aşağıdaki komutları kullanın.

  1. Bir sanal ağ oluşturun.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. için temsilci olarak atanan Microsoft.App/environmentsbir alt ağ oluşturun.

    az network vnet subnet create \
      --address-prefixes 13.0.0.0/23 \
      --delegations Microsoft.App/environments \
      --name "<SUBNET_NAME>" \
      --resource-group "<RESOURCE_GROUP>" \
      --vnet-name "<VNET_NAME>" \
      --query "id"
    

    Kimlik değerini kopyalayın ve sonraki komuta yapıştırın.

    Container Microsoft.App/environments Apps ortamında iş yükü profillerini çalıştırmak için Container Apps çalışma zamanına sanal ağınız üzerinde gerekli denetimi vermek için temsilci seçme gerekir.

    Alt ağ için CIDR (32 IP-8 ayrılmış) kadar /27 küçük olarak belirtebilirsiniz. Bir /27 CIDR belirtecekseniz aşağıdaki öğeleri göz önünde bulundurun:

    • Container Apps altyapısı için ayrılmış 11 IP adresi vardır. Bu nedenle, bir /27 CIDR en fazla 21 kullanılabilir IP adresine sahiptir.

    • IP adresleri Yalnızca Tüketim ve Ayrılmış planlar arasında farklı şekilde ayrılır:

      Yalnızca tüketim Ayrılmış
      Her çoğaltma bir IP gerektirir. Kullanıcılar tüm uygulamalarda 21'den fazla çoğaltması olan uygulamalara sahip olamaz. Yeni düzeltme başarıyla dağıtılana kadar eski düzeltme çalıştırıldığından, sıfır kapalı kalma süresi dağıtımı ip'leri iki katına çıkartır. Her örnek (VM düğümü) tek bir IP gerektirir. Tüm iş yükü profillerinde 21 örneğe ve bu iş yükü profillerinde çalışan yüzlerce veya daha fazla çoğaltmaya sahip olabilirsiniz.
  1. İş yükü profilleri ortamı oluşturma

    Dekont

    Kapsayıcı uygulamanızın ortam düzeyinde sanal ağınızdan genel girişe veya yalnızca girişe izin verip vermeyeceğini yapılandırabilirsiniz. Girişi yalnızca sanal ağınızla kısıtlamak için bayrağını --internal-only ayarlayın.

    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    
    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    

    Bu komutun tamamlanması 10 dakika kadar sürebilir.

  2. Ortamınızın durumunu denetleyin. Aşağıdaki komut, ortamın başarıyla oluşturulup oluşturulmadığına ilişkin raporlar.

    az containerapp env show \
      --name "<ENVIRONMENT_NAME>" \
      --resource-group "<RESOURCE_GROUP>"
    

    Sonraki provisioningState komuta geçmeden önce raporlaması Succeeded gerekir.

  3. Yeni bir kapsayıcı uygulaması oluşturun.

    az containerapp create \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<CONTAINER_APP_NAME>" \
      --target-port 80 \
      --ingress external \
      --image mcr.microsoft.com/k8se/quickstart:latest \
      --environment "<ENVIRONMENT_NAME>" \
      --workload-profile-name "Consumption"
    

    Bu komut, uygulamayı yerleşik Tüketim iş yükü profiline dağıtır. Ayrılmış profilde uygulama oluşturmak istiyorsanız, önce profili ortama eklemeniz gerekir.

    Bu komut, belirli bir iş yükü profilini kullanarak ortamda yeni uygulamayı oluşturur.

Profil ekleme

Mevcut bir ortama yeni bir iş yükü profili ekleyin.

az containerapp env workload-profile add \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

Yer tutucu için <WORKLOAD_PROFILE_NAME> seçtiğiniz değer, iş yükü profili kolay adıdır.

Kolay adlar kullanmak, bir ortama aynı türde birden çok profil eklemenize olanak tanır. Kolay ad, bir kapsayıcı uygulamasını bir iş yükü profilinde dağıtırken ve korurken kullandığınız addır.

Profilleri düzenleme

Komutuyla update bir iş yükü profili tarafından kullanılan en düşük ve en fazla düğüm sayısını değiştirebilirsiniz.

az containerapp env workload-profile update \
  --resource-group <RESOURCE_GROUP> \
  --name <ENV_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

Profil silme

bir iş yükü profilini silmek için aşağıdaki komutu kullanın.

az containerapp env workload-profile delete \
  --resource-group "<RESOURCE_GROUP>" \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Dekont

Tüketim iş yükü profili silinemez.

Profilleri inceleme

Aşağıdaki komutlar, bölgenizdeki kullanılabilir profilleri ve belirli bir ortamda kullanılan profilleri listelemenizi sağlar.

Kullanılabilir iş yükü profillerini listeleme

list-supported Bölgeniz için desteklenen iş yükü profillerini listelemek için komutunu kullanın.

Aşağıdaki Azure CLI komutu sonuçları bir tabloda görüntüler.

az containerapp env workload-profile list-supported \
  --location <LOCATION>  \
  --query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
  -o table

Yanıt aşağıdaki örneğe benzer bir tabloya benzer:

Name         Cores    MemoryGiB    Category
-----------  -------  -----------  ---------------
D4           4        16           GeneralPurpose
D8           8        32           GeneralPurpose
D16          16       64           GeneralPurpose
E4           4        32           MemoryOptimized
E8           8        64           MemoryOptimized
E16          16       128          MemoryOptimized
E32          32       256          MemoryOptimized
Consumption  4        8            Consumption

Bir iş yükü profili seçin ve seçenek için --workload-profile-type çalıştırdığınızda az containerapp env workload-profile set Ad alanını kullanın.

İş yükü profilini gösterme

İş yükü profiliyle ilgili ayrıntıları görüntüleyin.

az containerapp env workload-profile show \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Sonraki adımlar