Bagikan melalui


Tutorial: Menskalakan aplikasi kontainer

Azure Container Apps mengelola penskalaan horizontal otomatis melalui set aturan penskalaan deklaratif. Ketika aplikasi kontainer memperluas skala, instans baru aplikasi kontainer dibuat sesuai permintaan. Instans ini dikenal sebagai replika.

Dalam tutorial ini, Anda menambahkan aturan skala HTTP ke aplikasi kontainer Anda dan mengamati bagaimana aplikasi Anda diskalakan.

Prasyarat

Persyaratan Petunjuk
Akun Azure Jika Anda tidak memiliki akun Azure, Anda dapat membuat akun secara gratis.

Anda memerlukan izin Kontributor pada langganan Azure untuk melanjutkan. Lihat Menetapkan peran Azure menggunakan portal Azure untuk detailnya.
Akun GitHub Dapatkan satu secara gratis.
Azure CLI Instal Azure CLI.

Siapkan

Untuk masuk ke Azure dari CLI, jalankan perintah berikut dan ikuti perintah untuk menyelesaikan proses autentikasi.

az login

Untuk memastikan Anda menjalankan CLI versi terbaru, jalankan perintah peningkatan.

az upgrade

Selanjutnya, instal atau perbarui ekstensi Azure Container Apps untuk CLI.

Jika Anda menerima kesalahan tentang parameter yang hilang saat menjalankan az containerapp perintah di Azure CLI atau cmdlet dari Az.App modul di Azure PowerShell, pastikan Anda memiliki versi terbaru ekstensi Azure Container Apps yang terinstal.

az extension add --name containerapp --upgrade

Catatan

Mulai Mei 2024, ekstensi Azure CLI tidak lagi mengaktifkan fitur pratinjau secara default. Untuk mengakses fitur pratinjau Container Apps, instal ekstensi Container Apps dengan --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Sekarang setelah ekstensi atau modul saat ini diinstal, daftarkan Microsoft.App namespace layanan dan Microsoft.OperationalInsights .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Membuat dan menyebarkan aplikasi kontainer

Buat dan sebarkan aplikasi kontainer Anda dengan containerapp up perintah . Perintah ini membuat:

  • Grup sumber daya
  • Lingkungan Container Apps
  • Ruang kerja Analitik Log

Jika salah satu sumber daya ini sudah ada, perintah menggunakan sumber daya yang ada daripada membuat sumber daya baru.

Terakhir, perintah membuat dan menyebarkan aplikasi kontainer menggunakan gambar kontainer publik.

az containerapp up \
  --name my-container-app \
  --resource-group my-container-apps \
  --location centralus \
  --environment 'my-container-apps' \
  --image mcr.microsoft.com/k8se/quickstart:latest \
  --target-port 8080 \
  --ingress external \
  --query properties.configuration.ingress.fqdn \

Catatan

Pastikan nilai untuk parameter --image dalam huruf kecil.

Dengan mengatur --ingress ke external, Anda membuat aplikasi kontainer tersedia untuk permintaan publik.

up Perintah mengembalikan nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk aplikasi kontainer. Salin FQDN ini ke file teks. Anda akan menggunakannya di bagian Kirim permintaan . FQDN Anda terlihat seperti contoh berikut:

https://my-container-app.icydune-96848328.centralus.azurecontainerapps.io

Menambahkan aturan skala

Tambahkan aturan skala HTTP ke aplikasi kontainer Anda dengan menjalankan az containerapp update perintah .

az containerapp update \
	--name my-container-app \
	--resource-group my-container-apps \
    --scale-rule-name my-http-scale-rule \
    --scale-rule-http-concurrency 1

Perintah ini menambahkan aturan skala HTTP ke aplikasi kontainer Anda dengan nama my-http-scale-rule dan pengaturan konkurensi .1 Jika aplikasi Anda menerima lebih dari satu permintaan HTTP bersamaan, runtime membuat replika aplikasi Anda untuk menangani permintaan.

Perintah update mengembalikan konfigurasi baru sebagai respons JSON untuk memverifikasi bahwa permintaan Anda berhasil.

Mulai output log

Anda dapat mengamati efek penskalaan aplikasi Anda dengan melihat log yang dihasilkan oleh runtime Aplikasi Kontainer. az containerapp logs show Gunakan perintah untuk mulai mendengarkan entri log.

az containerapp logs show \
	--name my-container-app \
	--resource-group my-container-apps \
	--type=system \
	--follow=true

show Perintah mengembalikan entri dari log sistem untuk aplikasi kontainer Anda secara real time. Anda dapat mengharapkan respons seperti contoh berikut:

{
	"TimeStamp":"2023-08-01T16:49:03.02752",
	"Log":"Connecting to the container 'my-container-app'..."
}
{
	"TimeStamp":"2023-08-01T16:49:03.04437",
	"Log":"Successfully Connected to container:
	'my-container-app' [Revision: 'my-container-app--9uj51l6',
	Replica: 'my-container-app--9uj51l6-5f96557ffb-5khg9']"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9480811+00:00",
	"Log":"Microsoft.Hosting.Lifetime[14]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9481264+00:00",
	"Log":"Now listening on: http://[::]:8080"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9490917+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9491036+00:00",
	"Log":"Application started. Press Ctrl+C to shut down."
}
{
	"TimeStamp":"2023-08-01T16:47:31.949723+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497292+00:00",
	"Log":"Hosting environment: Production"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497325+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497367+00:00",
	"Log":"Content root path: /app/"
}

Untuk informasi selengkapnya, lihat log az containerapp.

Mengirim permintaan

Buka shell bash baru. Jalankan perintah berikut, ganti <YOUR_CONTAINER_APP_FQDN> dengan nama domain yang sepenuhnya memenuhi syarat untuk aplikasi kontainer yang Anda simpan dari bagian Buat dan sebarkan aplikasi kontainer.

seq 1 50 | xargs -Iname -P10 curl "<YOUR_CONTAINER_APP_FQDN>"

Perintah ini mengirim 50 permintaan ke aplikasi kontainer Anda dalam batch bersamaan masing-masing dari 10 permintaan.

Perintah atau argumen Deskripsi
seq 1 50 Menghasilkan urutan angka dari 1 hingga 50.
| Operator pipa mengirimkan urutan ke xargs perintah .
xargs curl Berjalan dengan URL yang ditentukan
-Iname Bertindak sebagai tempat penampung untuk output .seq Argumen ini mencegah nilai pengembalian dikirim ke curl perintah .
curl Memanggil URL yang diberikan.
-P10 Menginstruksikan xargs untuk menjalankan hingga 10 proses pada satu waktu.

Untuk informasi selengkapnya, lihat dokumentasi untuk:

Di shell pertama, tempat Anda menjalankan az containerapp logs show perintah, output sekarang berisi satu atau beberapa entri log seperti berikut ini.

{
	"TimeStamp":"2023-08-01 18:09:52 +0000 UTC",
	"Type":"Normal",
	"ContainerAppName":"my-container-app",
	"RevisionName":"my-container-app--9uj51l6",
	"ReplicaName":"my-container-app--9uj51l6-5f96557ffb-f795d",
	"Msg":"Replica 'my-container-app--9uj51l6-5f96557ffb-f795d' has been scheduled to run on a node.",
	"Reason":"AssigningReplica",
	"EventSource":"ContainerAppController",
	"Count":0
}

Menampilkan penskalakan dalam portal Azure (opsional)

  1. Masuk ke portal Azure.
  2. Di bilah Pencarian di bagian atas, masukkan my-container-app.
  3. Di hasil pencarian, di bawah Sumber Daya, pilih my-container-app.
  4. Di bilah navigasi di sebelah kiri, perluas Aplikasi dan pilih Skalakan dan replika.
  5. Di halaman Skala dan Replika , pilih Replika.
  6. Aplikasi kontainer Anda sekarang memiliki lebih dari satu replika yang berjalan.

Cuplikan layar replika aplikasi kontainer.

Anda mungkin perlu memilih Refresh untuk melihat replika baru.

  1. Di bilah navigasi di sebelah kiri, perluas Pemantauan dan pilih Metrik.

  2. Di halaman Metrik , atur Metrik ke Permintaan.

  3. Pilih Terapkan pemisahan.

  4. Perluas menu drop-down Nilai dan periksa Replika.

  5. Pilih ikon tanda centang biru untuk menyelesaikan pengeditan pemisahan.

  6. Grafik menunjukkan permintaan yang diterima oleh aplikasi kontainer Anda, dibagi berdasarkan replika.

    Grafik metrik aplikasi kontainer, memperlihatkan permintaan yang dipisahkan menurut replika.

  7. Secara default, skala grafik diatur ke 24 jam terakhir, dengan granularitas waktu 15 menit. Pilih skala dan ubah menjadi 30 menit terakhir, dengan granularitas waktu satu menit. Pilih tombol Terapkan.

  8. Pilih pada grafik dan seret untuk menyoroti peningkatan permintaan terbaru yang diterima oleh aplikasi kontainer Anda.

Cuplikan layar grafik metrik aplikasi kontainer, memperlihatkan permintaan yang dipisahkan menurut replika, dengan skala 30 menit dan granularitas waktu satu menit.

Cuplikan layar berikut menunjukkan tampilan yang diperbesar tentang bagaimana permintaan yang diterima oleh aplikasi kontainer Anda dibagi di antara replika.

Cuplikan layar grafik metrik aplikasi kontainer, memperlihatkan permintaan yang dipisahkan menurut replika, dalam tampilan yang diperbesar.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, jalankan perintah berikut untuk menghapus grup sumber daya bersama dengan semua sumber daya yang dibuat dalam tutorial ini.

Perhatian

Perintah berikut menghapus grup sumber daya yang ditentukan dan semua sumber daya yang terkandung di dalamnya. Jika sumber daya di luar lingkup artikel ini ada di grup sumber daya yang ditentukan, sumber daya tersebut juga akan dihapus.

az group delete --name my-container-apps

Tip

Mengalami masalah? Beri tahu kami di GitHub dengan membuka masalah di repositori Azure Container Apps.

Langkah berikutnya