Mengelola profil beban kerja dengan Azure CLI

Pelajari cara mengelola profil beban kerja di lingkungan Container Apps Anda menggunakan Azure CLI.

Membuat aplikasi kontainer di profil

Secara default, lingkungan Container Apps Anda dibuat dengan jaringan virtual terkelola yang secara otomatis dibuat untuk Anda. Jaringan virtual yang dihasilkan tidak dapat diakses oleh Anda karena dibuat di penyewa Microsoft.

Atau, Anda dapat membuat lingkungan dengan jaringan virtual kustom. Gunakan opsi ini jika Anda memerlukan salah satu fitur berikut:

  • Rute yang ditentukan pengguna
  • Integrasi dengan Application Gateway
  • Kelompok Keamanan Jaringan
  • Berkomunikasi dengan sumber daya di belakang titik akhir privat di jaringan virtual Anda
  1. Buat lingkungan Aplikasi Kontainer.

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

    Perintah ini dapat memakan waktu hingga 10 menit untuk diselesaikan.

  2. Periksa status lingkungan Anda. Perintah berikut melaporkan apakah lingkungan berhasil dibuat.

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

    provisioningState perlu melaporkan Succeeded sebelum Anda beralih ke perintah berikutnya.

  3. Buat aplikasi kontainer baru.

    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"
    

Perintah ini menyebarkan aplikasi ke profil beban kerja Konsumsi bawaan. Jika Anda ingin membuat aplikasi di profil Khusus, Anda harus terlebih dahulu menambahkan profil ke lingkungan.

Perintah ini membuat aplikasi baru di lingkungan menggunakan profil beban kerja tertentu.

Saat Membuat lingkungan dengan jaringan virtual kustom, Anda memiliki kontrol penuh atas konfigurasi jaringan virtual. Kontrol ini memberi Anda opsi untuk mengimplementasikan fitur berikut:

  • Rute yang ditentukan pengguna
  • Integrasi dengan Application Gateway
  • Kelompok Keamanan Jaringan
  • Berkomunikasi dengan sumber daya yang berada di balik titik akhir privat di jaringan virtual Anda

Gunakan perintah berikut untuk membuat lingkungan Container Apps.

  1. Buat jaringan virtual.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. Buat subnet yang didelegasikan ke Microsoft.App/environments.

    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"
    

    Salin nilai ID dan tempelkan ke perintah berikutnya.

    Delegasi Microsoft.App/environments diperlukan untuk memberikan kontrol yang diperlukan kepada runtime Container Apps terhadap jaringan virtual Anda agar dapat menjalankan profil beban kerja di lingkungan Container Apps.

    Anda dapat menentukan subnet sekecil CIDR /27 (32 IP, 8 di antaranya dicadangkan). Jika Anda akan menentukan /27 CIDR, pertimbangkan item berikut:

    • Ada 11 alamat IP yang dicadangkan untuk infrastruktur Container Apps. Oleh karena itu, /27 CIDR memiliki maksimum 21 alamat IP yang tersedia.

    • Alamat IP dialokasikan secara berbeda antara paket Konsumsi saja dan Khusus:

      Hanya untuk konsumsi Berdedikasi
      Setiap replika memerlukan satu IP. Pengguna tidak dapat memiliki aplikasi dengan lebih dari 21 replika di semua aplikasi. Deployment tanpa waktu henti memerlukan alamat IP dua kali lebih banyak karena versi lama masih berjalan sampai versi baru berhasil diterapkan. Setiap instans (simpul VM) memerlukan satu IP. Anda dapat memiliki hingga 21 instans di semua profil beban kerja, dan ratusan atau lebih replika yang berjalan di profil beban kerja ini.
  3. Buat lingkungan Aplikasi Kontainer.

    Catatan

    Anda dapat mengonfigurasi apakah aplikasi kontainer Anda memungkinkan masuknya publik atau hanya masuk dari dalam jaringan virtual Anda di tingkat lingkungan. Untuk membatasi ingress hanya ke jaringan virtual Anda, tetapkan flag --internal-only.

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

    Perintah ini dapat memakan waktu hingga 10 menit untuk diselesaikan.

  4. Periksa status lingkungan Anda. Perintah berikut melaporkan apakah lingkungan berhasil dibuat.

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

    provisioningState perlu melaporkan Succeeded sebelum Anda beralih ke perintah berikutnya.

  5. Buat aplikasi kontainer baru.

    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"
    

Perintah ini menyebarkan aplikasi ke profil beban kerja Konsumsi bawaan. Jika Anda ingin membuat aplikasi di profil Khusus, Anda harus terlebih dahulu menambahkan profil ke lingkungan.

Perintah ini membuat aplikasi baru di lingkungan menggunakan profil beban kerja tertentu.

Menambahkan profil

Tambahkan profil beban kerja baru ke lingkungan yang sudah ada. Anda perlu menentukan jenis profil kerja, seperti yang dijelaskan di bagian ini.

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>

Saat Anda memilih profil beban kerja untuk ditambahkan, pastikan ketersediaan regional. Nilai yang Anda pilih untuk placeholder <WORKLOAD_PROFILE_NAME> adalah nama yang mudah diingat dari profil beban kerja.

Menggunakan nama yang mudah diingat memungkinkan Anda menambahkan beberapa profil dengan jenis yang sama ke lingkungan. Nama ramah adalah nama yang digunakan saat Anda menyebarkan dan memelihara aplikasi kontainer dalam profil beban kerja.

Jenis profil kerja bersifat spesifik untuk wilayah, bukan satu daftar global yang ditetapkan secara tetap. Jalur penemuan yang dimaksudkan adalah: az containerapp env workload-profile list-supported -l <REGION>. Implementasi menyelesaikan nilai yang didukung dari titik akhir templat ARM untuk jenis profil beban kerja yang tersedia di lokasi tersebut.

Gunakan perintah ini untuk melihat jenis profil beban kerja yang valid untuk wilayah Anda:

az containerapp env workload-profile list-supported -l <REGION>

Gunakan salah satu nilai yang dikembalikan untuk --workload-profile-type. Misalnya, Anda dapat menggunakan D4 di wilayah tempat jenis tersebut tersedia.

Perlu diingat perilaku berikut:

  • Perintah mengubah nilai tipe ke huruf besar sebelum mengirimkannya.
  • Jika Anda menghilangkan --workload-profile-name, perintah akan secara default menetapkan nama profil ke nilai tipe.
  • Menambahkan atau memperbarui profil beban kerja hanya berfungsi untuk lingkungan yang mendukung profil beban kerja.

Mengedit profil

Anda dapat mengubah jumlah minimum dan maksimum simpul yang digunakan oleh profil beban kerja dengan menggunakan update perintah .

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>

Menghapus profil

Gunakan perintah berikut untuk menghapus profil beban kerja.

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

Catatan

Profil beban kerja Consumption tidak dapat dihapus.

Periksa profil

Perintah berikut memungkinkan Anda mencantumkan profil yang tersedia di wilayah Anda dan yang digunakan di lingkungan tertentu.

Mencantumkan profil beban kerja yang tersedia

list-supported Gunakan perintah untuk mencantumkan profil beban kerja yang didukung untuk wilayah Anda.

Perintah Azure CLI berikut menampilkan hasil dalam tabel.

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

Respons menyerupai tabel yang mirip dengan contoh ini:

Name                       Cores    MemoryGiB    Category
-------------------------  -------  -----------  --------------------
D4                         4        16           GeneralPurpose
D8                         8        32           GeneralPurpose
D16                        16       64           GeneralPurpose
D32                        32       128          GeneralPurpose
E4                         4        32           MemoryOptimized
E8                         8        64           MemoryOptimized
E16                        16       128          MemoryOptimized
E32                        32       256          MemoryOptimized
Consumption                4        8            Consumption
Consumption-GPU-NC24-A100  24       220          Consumption-GPU-A100
Consumption-GPU-NC8as-T4   8        56           Consumption-GPU-T4
Flex                       4        16           Consumption
NC24-A100                  24       220          GPU-NC-A100
NC48-A100                  48       440          GPU-NC-A100
NC96-A100                  96       880          GPU-NC-A100

Pilih profil beban kerja dan gunakan bidang Nama saat Anda menambahkan atau memperbarui profil beban kerja dengan perintah az containerapp env workload-profile add atau az containerapp env workload-profile update untuk opsi --workload-profile-type.

Perlihatkan profil beban kerja

Menampilkan detail tentang profil beban kerja.

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

Langkah selanjutnya