Jalankan tugas ACR pada kumpulan agen khusus

Siapkan kumpulan VM yang dikelola Azure (kumpulan agen) untuk memungkinkan menjalankan tugas Azure Container Registry Anda di lingkungan komputasi khusus. Setelah mengonfigurasi satu atau beberapa kumpulan di registri, Anda dapat memilih kumpulan untuk menjalankan tugas sebagai pengganti lingkungan komputasi default layanan.

Kumpulan agen menyediakan:

  • Dukungan jaringan virtual - Tetapkan kumpulan agen ke Azure VNet, menyediakan akses ke sumber daya di VNet seperti registri kontainer, key vault, atau penyimpanan.
  • Skalakan sesuai kebutuhan - Tingkatkan jumlah instans dalam kumpulan agen untuk tugas intensif komputasi, atau skalakan ke nol. Tagihan berdasarkan alokasi kumpulan. Untuk detailnya, lihat Harga.
  • Opsi fleksibel - Pilih dari berbagai tingkat kumpulan dan skalakan opsi untuk memenuhi kebutuhan beban kerja tugas Anda.
  • Manajemen Azure - Kumpulan tugas ditambal dan dikelola oleh Azure, memberikan alokasi yang dipesan tanpa perlu mempertahankan VM individu.

Fitur ini tersedia di tingkat layanan registri kontainer Premium. Untuk informasi tentang tingkat dan batas layanan registri, lihat SKU Azure Container Registry.

Penting

Fitur ini saat ini dalam pratinjau, dan beberapa batasan berlaku. Pratinjau disediakan untuk Anda dengan syarat Anda menyetujui ketentuan penggunaan tambahan. Beberapa aspek dari fitur ini dapat berubah sebelum ketersediaan umum (GA).

Batasan pratinjau

  • Kumpulan agen tugas saat ini mendukung node Linux. Node Windows saat ini tidak didukung.
  • Kumpulan agen tugas tersedia dalam pratinjau di wilayah berikut: US Barat 2, US Tengah Selatan, US Timur 2, US Timur, US Tengah, Eropa Barat, Eropa Utara, Kanada Tengah, Asia Timur, Gov (US) Arizona, Gov (US) Texas, dan USGov Virginia.
  • Untuk setiap registri, total kuota vCPU (core) default adalah 16 untuk semua kumpulan agen standar dan 0 untuk kumpulan agen yang terisolasi. Buka permintaan dukungan untuk alokasi tambahan.
  • Saat ini Anda tidak dapat membatalkan eksekusi tugas pada kumpulan agen.

Prasyarat

  • Untuk menggunakan langkah-langkah Azure CLI dalam artikel ini, Azure CLI versi 2.3.1 atau yang lebih baru diperlukan. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI. Atau jalankan di Azure Cloud Shell.
  • Jika Anda belum memiliki registri kontainer, buat satu (tingkat Premium diperlukan) di wilayah pratinjau.

Tingkat kumpulan

Tingkat kumpulan agen menyediakan sumber daya berikut per instans di kumpulan.

Tingkat Jenis CPU Memori (GB)
S1 standar 2 3
S2 standar 4 8
S3 standar 8 16
I6 terisolasi 64 216

Membuat dan mengelola kumpulan agen tugas

Menetapkan registri default (opsional)

Untuk menyederhanakan perintah Azure CLI yang mengikuti, atur registri default dengan menjalankan perintah az config:

az config set defaults.acr=<registryName>

Contoh berikut mengasumsikan bahwa Anda telah menetapkan registri default. Jika tidak, lewati parameter --registry <registryName> di setiap perintah az acr.

Membuat kumpulan agen

Buat kumpulan agen dengan menggunakan perintah buat az acr agentpool. Contoh berikut membuat kumpulan tingkat S2 (4 CPU/instans). Secara default, kumpulan berisi 1 instans.

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2

Catatan

Membuat kumpulan agen dan operasi manajemen kumpulan lainnya membutuhkan waktu beberapa menit untuk diselesaikan.

Menskalakan kumpulan

Skalakan ukuran kumpulan ke atas atau ke bawah dengan perintah perbarui az acr agentpool. Contoh berikut menskalakan kumpulan menjadi 2 instans. Anda dapat menskalakan ke 0 instans.

az acr agentpool update \
    --registry MyRegistry \
    --name myagentpool \
    --count 2

Membuat kumpulan di jaringan virtual

Tambah aturan firewall

Kumpulan agen tugas memerlukan akses ke layanan Azure berikut. Aturan firewall berikut ini harus ditambahkan ke grup keamanan jaringan atau rute yang ditentukan pengguna.

Arah Protokol Sumber Port sumber Tujuan Port Dest Terpakai
Keluar TCP JaringanVirtual Mana pun AzureKeyVault 443 Default
Keluar TCP JaringanVirtual Mana pun Penyimpanan 443 Default
Keluar TCP JaringanVirtual Mana pun EventHub 443 Default
Keluar TCP JaringanVirtual Mana pun AzureActiveDirectory 443 Default
Keluar TCP JaringanVirtual Mana pun AzureMonitor 443 Default

Catatan

Jika tugas Anda memerlukan sumber daya tambahan dari internet publik, tambahkan aturan yang sesuai. Misalnya, aturan tambahan diperlukan untuk menjalankan tugas build docker yang menarik citra dasar dari Docker Hub, atau memulihkan paket NuGet.

Pelanggan yang mendinginkan penyebaran mereka dengan MCR dapat merujuk ke aturan firewall MCR/MAR.

Membuat kumpulan di VNet

Contoh berikut membuat kumpulan agen di subnet mysubnet jaringan myvnet:

# Get the subnet ID
subnetId=$(az network vnet subnet show \
        --resource-group myresourcegroup \
        --vnet-name myvnet \
        --name mysubnetname \
        --query id --output tsv)

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2 \
    --subnet-id $subnetId

Menjalankan tugas pada kumpulan agen

Contoh berikut menunjukkan cara menentukan kumpulan agen saat mengantre tugas.

Catatan

Untuk menggunakan kumpulan agen dalam tugas ACR, pastikan bahwa kumpulan berisi setidaknya 1 instans.

Tugas cepat

Antrekan tugas cepat pada kumpulan agen dengan menggunakan perintah build az acr dan lewati parameter --agent-pool:

az acr build \
    --registry MyRegistry \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --file Dockerfile \
    https://github.com/Azure-Samples/acr-build-helloworld-node.git#main

Tugas yang dipicu secara otomatis

Misalnya, buat tugas terjadwal pada kumpulan agen dengan buat tugas az acr, melewati parameter --agent-pool.

az acr task create \
    --registry MyRegistry \
    --name mytask \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --schedule "0 21 * * *" \
    --file Dockerfile \
    --context https://github.com/Azure-Samples/acr-build-helloworld-node.git#main \
    --commit-trigger-enabled false

Untuk memverifikasi pengaturan tugas, jalankan eksekusi tugas az acr:

az acr task run \
    --registry MyRegistry \
    --name mytask

Status kumpulan kueri

Untuk menemukan jumlah eksekusi yang saat ini dijadwalkan di kumpulan agen, jalankan tampilkan az acr agentpool.

az acr agentpool show \
    --registry MyRegistry \
    --name myagentpool \
    --queue-count

Langkah berikutnya

Untuk contoh lebih lanjut tentang build citra kontainer dan pemeliharaan di cloud, lihat seri tutorial Tugas ACR.