Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skonfiguruj pulę maszyn wirtualnych (pulę agentów) zarządzaną przez platformę Azure, aby umożliwić uruchamianie zadań usługi Azure Container Registry w dedykowanym środowisku obliczeniowym. Po skonfigurowaniu co najmniej jednej puli w rejestrze można wybrać pulę, aby uruchomić zadanie zamiast domyślnego środowiska obliczeniowego usługi.
Pula agentów zapewnia:
- Obsługa sieci wirtualnej — przypisz pulę agentów do sieci wirtualnej platformy Azure, zapewniając dostęp do zasobów w sieci wirtualnej, takich jak rejestr kontenerów, magazyn kluczy lub magazyn.
- Skalowanie zgodnie z potrzebami — zwiększ liczbę wystąpień w puli agentów na potrzeby zadań intensywnie korzystających z obliczeń lub przeprowadź skalowanie do zera. Rozliczenia są oparte na alokacji puli. Aby uzyskać szczegółowe informacje, zobacz Cennik.
- Opcje elastyczne — wybierz jedną z różnych warstw puli i opcji skalowania, aby spełnić potrzeby związane z obciążeniem zadania.
- Zarządzanie platformą Azure — pule zadań są poprawiane i obsługiwane przez platformę Azure, zapewniając zarezerwowaną alokację bez konieczności obsługi poszczególnych maszyn wirtualnych.
Ta funkcja jest dostępna w warstwie usługi rejestru kontenerów Premium . Aby uzyskać informacje dotyczące poziomów i limitów usługi rejestru kontenerów, zajrzyj do SKUs w usłudze Azure Container Registry.
Ważne
Ta funkcja jest obecnie dostępna w wersji zapoznawczej i obowiązują pewne ograniczenia. Wersje zapoznawcze są udostępniane pod warunkiem udzielenia zgody na dodatkowe warunki użytkowania. Niektóre cechy funkcji mogą ulec zmianie, zanim stanie się ona ogólnie dostępna.
Ograniczenia wersji zapoznawczej
Pule agentów zadań obsługują obecnie węzły systemu Linux. Węzły systemu Windows nie są obecnie obsługiwane.
Pule agentów zadaniowych są dostępne w wersji zapoznawczej w następujących regionach: Zachodnie USA 2, Południowo-Środkowe USA, Wschodnie USA 2, Wschodnie USA, Środkowe USA, Europa Zachodnia, Europa Północna, Kanada Środkowa, Azja Wschodnia, Szwajcaria Północna, Jio Indie Zachodnie, Jio Indie Środkowe, USGov Arizona, USGov Teksas i USGov Wirginia.
Dla każdego rejestru domyślny łączny limit przydziału procesorów wirtualnych (rdzeni) wynosi 16 dla wszystkich standardowych pul agentów i wynosi 0 dla izolowanych pul agentów. Aby zwiększyć limit przydziału, otwórz wniosek o pomoc techniczną.
Wymagania wstępne
- Aby użyć kroków interfejsu wiersza polecenia platformy Azure w tym artykule, wymagany jest interfejs wiersza polecenia platformy Azure w wersji 2.3.1 lub nowszej. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. Możesz też uruchomić w usłudze Azure Cloud Shell.
- Jeśli nie masz jeszcze rejestru kontenerów, utwórz jeden (wymagana warstwa Premium) w regionie wersji zapoznawczej.
Poziomy puli
Poziomy puli agentów zapewniają następujące zasoby na wystąpienie w puli.
| Warstwa | Typ | CPU | Pamięć (GB) |
|---|---|---|---|
| S1 | standard | 2 | 3 |
| S2 | standard | 4 | 8 |
| S3 | standard | 8 | 16 |
| I6 | odizolowany | 64 | 216 |
Tworzenie puli agentów zadań i zarządzanie nią
Ustaw rejestr domyślny (opcjonalnie)
Aby uprościć następujące polecenia Azure CLI, ustaw domyślny rejestr, uruchamiając polecenie az config:
az config set defaults.acr=<registryName>
W poniższych przykładach przyjęto założenie, że rejestr domyślny został już ustawiony. Jeśli nie, przekaż parametr --registry <registryName> w każdym poleceniu az acr.
Tworzenie puli agentów
Utwórz pulę agentów przy użyciu az acr agentpool create polecenia . Poniższy przykład tworzy pulę warstwy S2 (4 procesor/wystąpienie). Domyślnie pula zawiera jedno wystąpienie.
az acr agentpool create \
--registry myregistry \
--name myagentpool \
--tier S2
Uwaga
Tworzenie puli agentów i innych operacji zarządzania pulą trwa kilka minut.
Skalowanie puli
Skaluj rozmiar puli w górę lub w dół za pomocą polecenia az acr agentpool update. Poniższy przykład skaluje pulę do dwóch wystąpień:
az acr agentpool update \
--registry myregistry \
--name myagentpool \
--count 2
Tworzenie puli w sieci wirtualnej
Dodaj reguły zapory
Pule agentów zadań wymagają dostępu do następujących usług platformy Azure. Do istniejących sieciowych grup zabezpieczeń lub tras zdefiniowanych przez użytkownika należy dodać następujące reguły zapory.
| Kierunek | Protokół | Źródło | Port źródłowy | Cel or Miejsce docelowe | Port docelowy | Używany | Uwagi |
|---|---|---|---|---|---|---|---|
| Wychodzący | TCP | VirtualNetwork | Dowolne | AzureKeyVault | 443 | Wartość domyślna | |
| Wychodzący | TCP | VirtualNetwork | Dowolne | Magazyn | 443 | Wartość domyślna | |
| Wychodzący | TCP | VirtualNetwork | Dowolne | EventHub | 443 | Wartość domyślna | |
| Wychodzący | TCP | VirtualNetwork | Dowolne | AzureActiveDirectory | 443 | Wartość domyślna | |
| Wychodzący | TCP | VirtualNetwork | Dowolne | AzureMonitor | 443,12000 | Wartość domyślna | Port 12000 to unikatowy port używany do diagnostyki |
Uwaga
Jeśli zadania wymagają innych zasobów z publicznego Internetu, dodaj odpowiednie reguły. Na przykład reguły są potrzebne do uruchomienia zadania kompilacji platformy Docker, które ściąga obrazy podstawowe z usługi Docker Hub lub przywraca pakiet NuGet.
Klienci bazujący na wdrożeniach z MCR mogą odwoływać się do reguł zapory MCR/MAR.
Zaawansowana konfiguracja sieci
Jeśli standardowe reguły zapory / sieciowej grupy zabezpieczeń (NSG) są uznawane za zbyt liberalne, a bardziej szczegółowa kontrola jest wymagana w przypadku połączeń wychodzących, rozważ następujące podejście:
- Włącz punkty końcowe usługi w podsieci puli agentów. Dzięki temu pula agentów uzyskuje dostęp do zależności usługi, zapewniając bezpieczne połączenie sieciowe.
- Należy pamiętać, że reguły zapory lub sieciowej grupy zabezpieczeń dla ruchu wychodzącego są nadal konieczne. Te reguły ułatwiają możliwość przełączania źródłowego adresu IP z publicznego na prywatny przez Wirtualną Sieć, co stanowi kolejny krok w stosunku do włączania punktów końcowych usługi.
Aby uzyskać więcej informacji na temat punktów końcowych usługi, zobacz Zabezpieczanie usług platformy Azure w sieciach wirtualnych.
Wymagane są co najmniej następujące punkty końcowe usługi:
- Microsoft.AzureActiveDirectory
- Microsoft.ContainerRegistry (tylko wtedy, gdy rejestr nie korzysta z łącza prywatnego)
- Microsoft.EventHub
- Microsoft.KeyVault
- Microsoft.Storage (lub odpowiednie regiony magazynowe uwzględniające replikację geograficzną)
Uwaga
Obecnie punkt końcowy usługi dla usługi Azure Monitor nie istnieje. Jeśli ruch wychodzący dla usługi Azure Monitor nie jest skonfigurowany, pula agentów nie może emitować dzienników diagnostycznych, ale może się wydawać, że nadal działa normalnie. W takim przypadku usługa ACR nie może w pełni rozwiązać żadnych napotkanych problemów, dlatego ważne jest, aby uwzględnić to podczas planowania konfiguracji sieci.
Należy również pamiętać, że usługa ACR Tasks ma wstępnie zbuforowane obrazy dla niektórych z bardziej typowych przypadków użycia. Zadania buforują tylko jedną wersję w danym momencie, co oznacza, że jeśli jest używane pełne odwołanie do otagowanego obrazu, agent kompilacji próbuje ściągnąć obraz. Na przykład typowym przypadkiem użycia jest cmd: mcr.microsoft.com/acr/acr-cli:<tag>. Jednak wstępnie buforowana wersja jest często aktualizowana, co oznacza, że rzeczywista wersja na urządzeniu prawdopodobnie będzie wyższa. W takim przypadku konfiguracja sieci musi skonfigurować trasę dla ruchu wychodzącego do docelowego hosta rejestru, który w poprzednim przykładzie to mcr.microsoft.com. Te same reguły dotyczą innych zewnętrznych rejestrów publicznych (docker.io, quay.io, ghcr.io itp.).
Używanie niestandardowego systemu DNS
Jeśli podsieć ma skonfigurowany niestandardowy serwer DNS, ta konfiguracja jest dziedziczona przez agenta kompilacji podczas wykonywania.
Ważne
Zakres adresów IP używany przez niestandardowy punkt końcowy DNS nie może powodować konfliktu z domyślnym zakresem platformy Docker .172.17.0.0/16
Tworzenie puli w sieci wirtualnej
Poniższy przykład tworzy pulę agentów w mysubnet podsieci sieci 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
Uruchom zadanie na puli agentów
W poniższych przykładach pokazano, jak określić pulę agentów podczas kolejkowania zadania.
Uwaga
Aby użyć puli agentów w zadaniu usługi ACR, upewnij się, że pula zawiera co najmniej jedno wystąpienie.
Szybkie zadanie
Kolejkowanie szybkiego zadania w puli agentów przy użyciu az acr build polecenia i przekazanie parametru --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
Automatycznie wyzwalane zadanie
Na przykład utwórz zaplanowane zadanie w puli agentów za pomocą polecenia az acr task create, przekazując parametr --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
Aby zweryfikować konfigurację zadania, uruchom polecenie az acr task run:
az acr task run \
--registry myregistry \
--name mytask
Stan puli zapytań
Aby znaleźć liczbę przebiegów aktualnie zaplanowanych w puli agentów, uruchom polecenie az acr agentpool show.
az acr agentpool show \
--registry myregistry \
--name myagentpool \
--queue-count
Następne kroki
Aby uzyskać więcej przykładów kompilacji i konserwacji obrazu kontenera w chmurze, zapoznaj się z serią samouczków usługi ACR Tasks.