Ayrılmış aracı havuzunda ACR görevi çalıştırma

Azure Container Registry görevlerinizinayrılmış bir işlem ortamında çalıştırılmasını sağlamak için Azure tarafından yönetilen bir VM havuzu (aracı havuzu) ayarlayın. Kayıt defterinizde bir veya daha fazla havuz yapılandırdıktan sonra, hizmetin varsayılan işlem ortamı yerine bir görevi çalıştırmak için bir havuz seçebilirsiniz.

Aracı havuzu şu bilgileri sağlar:

  • Sanal ağ desteği - Azure sanal ağına aracı havuzu atayarak sanal ağdaki kapsayıcı kayıt defteri, anahtar kasası veya depolama gibi kaynaklara erişim sağlayın.
  • Gerektiğinde ölçeklendirin - Yoğun işlem gerektiren görevler için aracı havuzundaki örnek sayısını artırın veya sıfıra ölçeklendirin. Faturalama, havuz ayırmayı temel alır. Ayrıntılar için bkz . Fiyatlandırma.
  • Esnek seçenekler - Görev iş yükü gereksinimlerinizi karşılamak için farklı havuz katmanları ve ölçek seçenekleri arasından seçim yapın.
  • Azure yönetimi - Görev havuzlarına Azure tarafından düzeltme eki eklenerek bakım yapılır ve tek tek VM'lerin bakımını yapmaya gerek kalmadan ayrılmış ayırma sağlanır.

Bu özellik Premium kapsayıcı kayıt defteri hizmet katmanında kullanılabilir. Kayıt defteri hizmet katmanları ve sınırları hakkında bilgi için bkz . Azure Container Registry SKU'ları.

Önemli

Bu özellik şu anda önizleme aşamasındadır ve bazı sınırlamalar geçerlidir. Önizlemeler, ek kullanım koşullarını kabul etmeniz şartıyla kullanımınıza sunulur. Bu özelliğin bazı yönleri genel kullanıma açılmadan önce değişebilir.

Önizleme sınırlamaları

  • Görev aracısı havuzları şu anda Linux düğümlerini destekliyor. Windows düğümleri şu anda desteklenmiyor.
  • Görev aracısı havuzları şu bölgelerde önizlemede kullanılabilir: Batı ABD 2, Orta Güney ABD, Doğu ABD 2, Doğu ABD, Orta ABD, Batı Avrupa, Kuzey Avrupa, Orta Kanada, Doğu Asya, kuzey İsviçre, USGov Arizona, USGov Texas ve USGov Virginia.
  • Her kayıt defteri için varsayılan toplam vCPU (çekirdek) kotası tüm standart aracı havuzları için 16 ve yalıtılmış aracı havuzları için 0'dır. Ek ayırma için bir destek isteği açın.
  • Şu anda aracı havuzundaki bir görev çalıştırması iptal edilemiyor.

Önkoşullar

  • Bu makaledeki Azure CLI adımlarını kullanmak için Azure CLI sürüm 2.3.1 veya üzeri gereklidir. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. Veya Azure Cloud Shell'de komutunu çalıştırın.
  • Henüz bir kapsayıcı kayıt defteriniz yoksa önizleme bölgesinde bir (Premium katman gerekli) oluşturun.

Havuz katmanları

Aracı havuzu katmanları havuzdaki örnek başına aşağıdaki kaynakları sağlar.

Katman Tür CPU Bellek (GB)
S1 standart 2 3
S2 standart 4 8
S3 standart 8 16
I6 Izole 64 216

Görev aracısı havuzu oluşturma ve yönetme

Varsayılan kayıt defterini ayarlama (isteğe bağlı)

Aşağıdaki Azure CLI komutlarını basitleştirmek için az config komutunu çalıştırarak varsayılan kayıt defterini ayarlayın:

az config set defaults.acr=<registryName>

Aşağıdaki örneklerde varsayılan kayıt defterini ayarladığınız varsayılır. Aksi takdirde, her az acr komutta bir --registry <registryName> parametre geçirin.

Aracı havuzu oluşturma

az acr agentpool create komutunu kullanarak bir aracı havuzu oluşturun . Aşağıdaki örnek bir katman S2 havuzu (4 CPU/örnek) oluşturur. Havuz varsayılan olarak 1 örnek içerir.

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

Not

Aracı havuzu ve diğer havuz yönetimi işlemlerinin oluşturulması birkaç dakika sürer.

Ölçek havuzu

az acr agentpool update komutuyla havuz boyutunun ölçeğini büyütün veya küçültün. Aşağıdaki örnek havuzu 2 örneğe ölçeklendirir. 0 örneğe ölçeklendirin.

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

Sanal ağda havuz oluşturma

Güvenlik duvarı kuralları ekleme

Görev aracısı havuzları aşağıdaki Azure hizmetlerine erişim gerektirir. Mevcut ağ güvenlik gruplarına veya kullanıcı tanımlı yollara aşağıdaki güvenlik duvarı kuralları eklenmelidir.

Yön Protokol Kaynak Kaynak Bağlantı Noktası Hedef Dest Bağlantı Noktası Used
Giden TCP VirtualNetwork Tümü AzureKeyVault 443 Varsayılan
Giden TCP VirtualNetwork Tümü Depolama 443 Varsayılan
Giden TCP VirtualNetwork Tümü EventHub 443 Varsayılan
Giden TCP VirtualNetwork Tümü AzureActiveDirectory 443 Varsayılan
Giden TCP VirtualNetwork Tümü AzureMonitor 443 Varsayılan

Not

Görevleriniz genel İnternet'ten ek kaynaklar gerektiriyorsa ilgili kuralları ekleyin. Örneğin, temel görüntüleri Docker Hub'dan alan veya bir NuGet paketini geri yükleyen bir docker derleme görevi çalıştırmak için ek kurallar gerekir.

DAĞıTıMlarını MCR ile temel edinen müşteriler, MCR/MAR güvenlik duvarı kurallarına başvurabilir .

Sanal ağda havuz oluşturma

Aşağıdaki örnek, myvnet ağının mysubnet alt ağında bir aracı havuzu oluşturur:

# 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

Aracı havuzunda görevi çalıştırma

Aşağıdaki örneklerde, bir görevi kuyruğa alırken aracı havuzunun nasıl belirtileceğini gösterilmektedir.

Not

ACR görevinde aracı havuzu kullanmak için havuzda en az 1 örnek bulunduğundan emin olun.

Hızlı görev

az acr build komutunu kullanarak aracı havuzundaki hızlı bir görevi kuyruğa alın ve parametresini --agent-pool geçirin:

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

Otomatik olarak tetiklenen görev

Örneğin, az acr task create komutuyla aracı havuzunda zamanlanmış bir görev oluşturun ve parametresini --agent-pool geçirin.

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

Görev kurulumunu doğrulamak için az acr task run komutunu çalıştırın:

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

Sorgu havuzu durumu

Aracı havuzunda zamanlanmış olan çalıştırma sayısını bulmak için az acr agentpool show komutunu çalıştırın.

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

Sonraki adımlar

Bulutta kapsayıcı görüntüsü derlemeleri ve bakım örnekleri için ACR Görevleri öğretici serisine göz atın.