Pamięć podręczna artefaktów w usłudze Azure Container Registry
Funkcja pamięci podręcznej artefaktów umożliwia użytkownikom buforowanie obrazów kontenerów w prywatnym rejestrze kontenerów. Pamięć podręczna artefaktów jest dostępna w warstwach usług Podstawowa, Standardowa i Premium.
Pamięć podręczna artefaktów rozszerza zarządzanie obrazami kontenerów, zapewniając rozwiązanie buforowania zarówno dla repozytoriów publicznych, jak i prywatnych.
Pamięć podręczna artefaktów oferuje szybsze i bardziej niezawodne operacje ściągania za pośrednictwem usługi Azure Container Registry (ACR), korzystając z funkcji, takich jak replikacja geograficzna i obsługa strefy dostępności w celu uzyskania wyższej dostępności i szybkiego ściągania obrazów.
Pamięć podręczna artefaktów umożliwia bezproblemowe udostępnianie buforowanych rejestrów za pośrednictwem sieci prywatnych dla użytkowników w celu dostosowania ich do konfiguracji zapory i standardów zgodności.
Pamięć podręczna artefaktów rozwiązuje problem z limitami ściągnięcia narzuconymi przez publiczne rejestry. Zalecamy użytkownikom uwierzytelnianie reguł pamięci podręcznej przy użyciu poświadczeń nadrzędnych źródła. Następnie ściągaj obrazy z lokalnego usługi ACR, aby pomóc w ograniczeniu limitów szybkości.
Terminologia
Reguła pamięci podręcznej — reguła pamięci podręcznej jest regułą, którą można utworzyć w celu ściągania artefaktów z obsługiwanego repozytorium do pamięci podręcznej.
Reguła pamięci podręcznej zawiera cztery części:
Nazwa reguły — nazwa reguły pamięci podręcznej. Na przykład
Hello-World-Cache
.Source — nazwa rejestru źródłowego.
Ścieżka repozytorium — ścieżka źródłowa repozytorium do znajdowania i pobierania artefaktów, które chcesz buforować. Na przykład
docker.io/library/hello-world
.Nowa przestrzeń nazw repozytorium ACR — nazwa nowej ścieżki repozytorium do przechowywania artefaktów. Na przykład
hello-world
. Repozytorium nie może jeszcze istnieć w wystąpieniu usługi ACR.
Referencja
Poświadczenia są zestawem nazwy użytkownika i hasła dla rejestru źródłowego. Do uwierzytelniania przy użyciu repozytorium publicznego lub prywatnego wymagane są poświadczenia. Poświadczenia zawierają cztery części
Poświadczenia — nazwa poświadczeń.
Serwer logowania rejestru źródłowego — serwer logowania rejestru źródłowego.
Uwierzytelnianie źródłowe — lokalizacje magazynu kluczy do przechowywania poświadczeń.
Wpisy tajne nazwy użytkownika i hasła — wpisy tajne zawierające nazwę użytkownika i hasło.
Ograniczenia
Pamięć podręczna będzie występować tylko po zakończeniu co najmniej jednego ściągnięcia obrazu na dostępnym obrazie kontenera. W przypadku każdego nowego dostępnego obrazu musi zostać ukończone nowe ściągnięcie obrazu. Pamięć podręczna artefaktów nie ściąga automatycznie nowych tagów obrazów, gdy jest dostępny nowy tag. Jest on w harmonogramie działania, ale nie jest obsługiwany w tej wersji.
Pamięć podręczna artefaktów obsługuje tylko 1000 reguł pamięci podręcznej.
Obsługa nadrzędnego strumienia
Pamięć podręczna artefaktów obsługuje obecnie następujące rejestry nadrzędne:
Ostrzeżenie
Klienci muszą wygenerować zestaw poświadczeń na zawartość źródłową z usługi Docker Hub.
Rejestry nadrzędne | Pomoc techniczna | Dostępność |
---|---|---|
Docker Hub | Obsługuje tylko uwierzytelnione ściągania. | Interfejs wiersza polecenia platformy Azure, witryna Azure Portal |
Rejestr Artefaktów Microsoft | Obsługuje tylko nieuwierzytelnione ściąganie. | Interfejs wiersza polecenia platformy Azure, witryna Azure Portal |
Publiczna galeria usługi AWS Elastic Container Registry (ECR) | Obsługuje tylko nieuwierzytelnione ściąganie. | Interfejs wiersza polecenia platformy Azure, witryna Azure Portal |
GitHub Container Registry | Obsługuje zarówno ściągnięcia uwierzytelnione, jak i nieuwierzytelnione. | Interfejs wiersza polecenia platformy Azure, witryna Azure Portal |
Nabrzeże | Obsługuje zarówno ściągnięcia uwierzytelnione, jak i nieuwierzytelnione. | Interfejs wiersza polecenia platformy Azure, witryna Azure Portal |
registry.k8s.io | Obsługuje zarówno ściągnięcia uwierzytelnione, jak i nieuwierzytelnione. | Interfejs wiersza polecenia platformy Azure |
Google Container Registry | Obsługuje zarówno ściągnięcia uwierzytelnione, jak i nieuwierzytelnione. | Interfejs wiersza polecenia platformy Azure |
Symbole wieloznaczne
Symbol wieloznaczny używa gwiazdki (*) do dopasowania wielu ścieżek w rejestrze obrazów kontenera. Pamięć podręczna artefaktów obsługuje obecnie następujące symbole wieloznaczne:
Uwaga
Reguły pamięci podręcznej są mapowane z repozytorium docelowego => repozytorium źródłowe.
Symbol wieloznaczny na poziomie rejestru
Symbol wieloznaczny na poziomie rejestru umożliwia buforowanie wszystkich repozytoriów z nadrzędnego rejestru.
Reguła pamięci podręcznej | Mapowanie | Przykład |
---|---|---|
contoso.azurecr.io/* => mcr.microsoft.com/* | Mapowanie wszystkich obrazów w usłudze ACR na MCR. | contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1 contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2 |
Symbol wieloznaczny na poziomie repozytorium
Symbol wieloznaczny na poziomie repozytorium umożliwia buforowanie wszystkich repozytoriów z nadrzędnego mapowania rejestru na prefiks repozytorium.
Reguła pamięci podręcznej | Mapowanie | Przykład |
---|---|---|
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* | Mapowanie określonych repozytoriów w usłudze ACR na odpowiednie repozytoria w usłudze MCR. | contoso.azurecr.io/dotnet/sdk => mcr.microsoft.com/dotnet/sdk contoso.azurecr.io/dotnet/runtime => mcr.microsoft.com/dotnet/runtime |
contoso.azurecr.io/library/dotnet/* => mcr.microsoft.com/dotnet/* contoso.azurecr.io/library/python/* => docker.io/library/python/* |
Mapowanie określonych repozytoriów w usłudze ACR na repozytoria z różnych rejestrów nadrzędnych. | contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1 contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3 |
Ograniczenia dotyczące reguł pamięci podręcznej opartej na symbolach wieloznacznych
Reguły pamięci podręcznej symboli wieloznacznych używają gwiazdki (*) w celu dopasowania wielu ścieżek w rejestrze obrazów kontenera. Te reguły nie mogą nakładać się na inne reguły pamięci podręcznej z symbolami wieloznacznymi. Innymi słowy, jeśli masz regułę pamięci podręcznej z symbolami wieloznacznymi dla określonej ścieżki rejestru, nie można dodać kolejnej reguły z symbolami wieloznacznymi nakładającymi się na nią.
Oto kilka przykładów nakładających się reguł:
Przykład 1:
Istniejąca reguła pamięci podręcznej: contoso.azurecr.io/* => mcr.microsoft.com/*
Dodawana jest nowa pamięć podręczna: contoso.azurecr.io/library/* => docker.io/library/*
Dodanie nowej reguły pamięci podręcznej jest blokowane, ponieważ ścieżka contoso.azurecr.io/library/*
docelowego repozytorium nakłada się na istniejącą regułę contoso.azurecr.io/*
wieloznaczny .
Przykład 2:
Istniejąca reguła pamięci podręcznej: contoso.azurecr.io/library/*
=>mcr.microsoft.com/library/*
Dodawana nowa pamięć podręczna: contoso.azurecr.io/library/dotnet/*
=>docker.io/library/dotnet/*
Dodanie nowej reguły pamięci podręcznej jest blokowane, ponieważ ścieżka contoso.azurecr.io/library/dotnet/*
docelowego repozytorium nakłada się na istniejącą regułę contoso.azurecr.io/library/*
wieloznaczny .
Ograniczenia dotyczące reguł statycznej/stałej pamięci podręcznej
Reguły statycznej lub stałej pamięci podręcznej są bardziej szczegółowe i nie używają symboli wieloznacznych. Mogą one nakładać się na reguły pamięci podręcznej opartej na symbolach wieloznacznych. Jeśli reguła pamięci podręcznej określa stałą ścieżkę repozytorium, umożliwia nakładanie się na regułę pamięci podręcznej opartej na symbolach wieloznacznych.
Przykład 1:
Istniejąca reguła pamięci podręcznej: contoso.azurecr.io/*
=>mcr.microsoft.com/*
Dodawana nowa pamięć podręczna: contoso.azurecr.io/library/dotnet
=>docker.io/library/dotnet
Dodanie nowej reguły pamięci podręcznej jest dozwolone, ponieważ contoso.azurecr.io/library/dotnet
jest to ścieżka statyczna i może nakładać się na regułę contoso.azurecr.io/*
pamięci podręcznej z symbolami wieloznacznymi .
Włączanie pamięci podręcznej artefaktów — interfejs wiersza polecenia platformy Azure
Możesz włączyć pamięć podręczną artifact w usłudze Azure Container Registry z uwierzytelnianiem lub bez uwierzytelniania przy użyciu interfejsu wiersza polecenia platformy Azure, wykonując kroki opisane w tych krokach.
Wymagania wstępne
- Aby uruchomić przykłady poleceń w tym artykule, możesz użyć usługi Azure Cloud Shell lub lokalnej instalacji interfejsu wiersza polecenia platformy Azure. Jeśli chcesz używać go lokalnie, wymagana jest wersja 2.46.0 lub nowsza. Uruchom polecenie
az --version
, aby znaleźć wersję. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. - Masz istniejącą usługę Key Vault do przechowywania poświadczeń. Dowiedz się więcej o tworzeniu i przechowywaniu poświadczeń w usłudze Key Vault.
- Możesz ustawić i pobrać wpisy tajne z usługi Key Vault. Dowiedz się więcej na temat ustawiania i pobierania wpisu tajnego z usługi Key Vault.
Skonfiguruj i utwórz regułę pamięci podręcznej bez poświadczeń.
Uruchom polecenie az acr Cache create , aby utworzyć regułę pamięci podręcznej.
- Aby na przykład utworzyć regułę pamięci podręcznej bez poświadczeń dla danej
MyRegistry
usługi Azure Container Registry.
az acr Cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu-
- Aby na przykład utworzyć regułę pamięci podręcznej bez poświadczeń dla danej
Uruchom polecenie az acr Cache show , aby wyświetlić regułę pamięci podręcznej.
- Aby na przykład wyświetlić regułę pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr Cache show -r MyRegistry -n MyRule
- Aby na przykład wyświetlić regułę pamięci podręcznej dla danej
Tworzenie poświadczeń
Przed skonfigurowaniem poświadczeń należy utworzyć i zapisać wpisy tajne w usłudze Azure KeyVault i pobrać wpisy tajne z usługi Key Vault. Dowiedz się więcej o tworzeniu i przechowywaniu poświadczeń w usłudze Key Vault. I ustawić i pobrać wpis tajny z usługi Key Vault.
Uruchom polecenie az acr credential set create , aby utworzyć poświadczenia.
- Na przykład aby utworzyć poświadczenia dla danej
MyRegistry
usługi Azure Container Registry.
az acr credential-set create -r MyRegistry \ -n MyDockerHubCredSet \ -l docker.io \ -u https://MyKeyvault.vault.azure.net/secrets/usernamesecret \ -p https://MyKeyvault.vault.azure.net/secrets/passwordsecret
- Na przykład aby utworzyć poświadczenia dla danej
Uruchom polecenie az acr credential set update , aby zaktualizować identyfikator wpisu tajnego KV nazwy użytkownika lub hasła w zestawie poświadczeń.
- Na przykład, aby zaktualizować nazwę użytkownika lub hasło identyfikator wpisu tajnego KV na poświadczenia dla danego
MyRegistry
rejestru Azure Container Registry.
az acr credential-set update -r MyRegistry -n MyDockerHubCredSet -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
- Na przykład, aby zaktualizować nazwę użytkownika lub hasło identyfikator wpisu tajnego KV na poświadczenia dla danego
Uruchom polecenie az acr credential-set show , aby wyświetlić poświadczenia.
- Aby na przykład wyświetlić zestaw poświadczeń w danym
MyRegistry
usłudze Azure Container Registry.
az acr credential-set show -r MyRegistry -n MyDockerHubCredSet
- Aby na przykład wyświetlić zestaw poświadczeń w danym
Konfigurowanie i tworzenie reguły pamięci podręcznej przy użyciu poświadczeń
Uruchom polecenie az acr cache create , aby utworzyć regułę pamięci podręcznej.
- Aby na przykład utworzyć regułę pamięci podręcznej z poświadczeniami dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyDockerHubCredSet
- Aby na przykład utworzyć regułę pamięci podręcznej z poświadczeniami dla danej
Uruchom polecenie az acr cache update , aby zaktualizować poświadczenia w regule pamięci podręcznej.
- Na przykład w celu zaktualizowania poświadczeń w regule pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache update -r MyRegistry -n MyRule -c NewCredSet
- Aby na przykład usunąć poświadczenia z istniejącej reguły pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache update -r MyRegistry -n MyRule --remove-cred-set
- Na przykład w celu zaktualizowania poświadczeń w regule pamięci podręcznej dla danej
Uruchom polecenie az acr cache show , aby wyświetlić regułę pamięci podręcznej.
- Aby na przykład wyświetlić regułę pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache show -r MyRegistry -n MyRule
- Aby na przykład wyświetlić regułę pamięci podręcznej dla danej
Przypisywanie uprawnień do usługi Key Vault przy użyciu zasad dostępu (starsza wersja)
Uzyskaj identyfikator podmiotu zabezpieczeń tożsamości systemu używanej do uzyskiwania dostępu do usługi Key Vault.
PRINCIPAL_ID=$(az acr credential-set show -n MyDockerHubCredSet \ -r MyRegistry \ --query 'identity.principalId' \ -o tsv)
Uruchom polecenie az keyvault set-policy, aby przypisać dostęp do usługi Key Vault przed ściągnięciem obrazu.
- Aby na przykład przypisać uprawnienia do poświadczeń, uzyskaj dostęp do wpisu tajnego usługi KeyVault
az keyvault set-policy --name MyKeyVault \ --object-id $PRINCIPAL_ID \ --secret-permissions get
Ściąganie obrazu
Pobierz obraz z pamięci podręcznej przy użyciu polecenia platformy Docker według nazwy serwera logowania rejestru, nazwy repozytorium i żądanego tagu.
- Aby na przykład ściągnąć obraz z repozytorium
hello-world
z odpowiednim tagiemlatest
dla danego serweramyregistry.azurecr.io
logowania rejestru .
docker pull myregistry.azurecr.io/hello-world:latest
- Aby na przykład ściągnąć obraz z repozytorium
Oczyszczanie zasobów
Uruchom polecenie az acr cache list , aby wyświetlić listę reguł pamięci podręcznej w usłudze Azure Container Registry.
- Aby na przykład wyświetlić listę reguł pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache list -r MyRegistry
- Aby na przykład wyświetlić listę reguł pamięci podręcznej dla danej
Uruchom polecenie az acr cache delete , aby usunąć regułę pamięci podręcznej.
- Aby na przykład usunąć regułę pamięci podręcznej dla danej
MyRegistry
usługi Azure Container Registry.
az acr cache delete -r MyRegistry -n MyRule
- Aby na przykład usunąć regułę pamięci podręcznej dla danej
Uruchompolecenie az acr credential set list , aby wyświetlić listę poświadczeń w usłudze Azure Container Registry.
- Aby na przykład wyświetlić listę poświadczeń dla danej
MyRegistry
usługi Azure Container Registry.
az acr credential-set list -r MyRegistry
- Aby na przykład wyświetlić listę poświadczeń dla danej
Uruchom polecenie az acr credential-set delete , aby usunąć poświadczenia.
- Aby na przykład usunąć poświadczenia dla danej
MyRegistry
usługi Azure Container Registry.
az acr credential-set delete -r MyRegistry -n MyDockerHubCredSet
- Aby na przykład usunąć poświadczenia dla danej
Włączanie pamięci podręcznej artefaktów — witryna Azure Portal
Możesz włączyć pamięć podręczną artifact w usłudze Azure Container Registry z uwierzytelnianiem lub bez uwierzytelniania przy użyciu witryny Azure Portal, wykonując kroki opisane w tych krokach.
Wymagania wstępne
- Zaloguj się do witryny Azure Portal.
- Masz istniejącą usługę Key Vault do przechowywania poświadczeń. Dowiedz się więcej o tworzeniu i przechowywaniu poświadczeń w usłudze Key Vault.
- Masz istniejące magazyny kluczy bez kontroli dostępu opartego na rolach (RBAC).
Konfigurowanie pamięci podręcznej artefaktów bez poświadczeń
Wykonaj kroki tworzenia reguły pamięci podręcznej w witrynie Azure Portal.
Przejdź do usługi Azure Container Registry.
W menu bocznym w obszarze Usługi wybierz pozycję Pamięć podręczna.
Wybierz pozycję Utwórz regułę.
Zostanie wyświetlone okno nowej reguły pamięci podręcznej.
Wprowadź nazwę reguły.
Wybierz pozycję Rejestr źródłowy z menu rozwijanego.
Wprowadź ścieżkę repozytorium do artefaktów, które chcesz buforować.
Uwierzytelnianie można pominąć, jeśli nie uzyskujesz dostępu do prywatnego repozytorium lub wykonujesz ściągnięcie uwierzytelnione.
W obszarze Miejsce docelowe wprowadź nazwę nowej przestrzeni nazw repozytorium usługi ACR do przechowywania buforowanych artefaktów.
Wybierz pozycję Zapisz.
Pobierz obraz z pamięci podręcznej przy użyciu polecenia platformy Docker według nazwy serwera logowania rejestru, nazwy repozytorium i żądanego tagu.
- Aby na przykład ściągnąć obraz z repozytorium
hello-world
z odpowiednim tagiemlatest
dla danego serweramyregistry.azurecr.io
logowania rejestru .
docker pull myregistry.azurecr.io/hello-world:latest
- Aby na przykład ściągnąć obraz z repozytorium
Konfigurowanie pamięci podręcznej artefaktów przy użyciu uwierzytelniania
Wykonaj kroki tworzenia reguły pamięci podręcznej w witrynie Azure Portal.
Przejdź do usługi Azure Container Registry.
W menu bocznym w obszarze Usługi wybierz pozycję Pamięć podręczna.
Wybierz pozycję Utwórz regułę.
Zostanie wyświetlone okno nowej reguły pamięci podręcznej.
Wprowadź nazwę reguły.
Wybierz pozycję Rejestr źródłowy z menu rozwijanego.
Wprowadź ścieżkę repozytorium do artefaktów, które chcesz buforować.
Aby dodać uwierzytelnianie do repozytorium, zaznacz pole Uwierzytelnianie .
Wybierz pozycję Utwórz nowe poświadczenia , aby utworzyć nowy zestaw poświadczeń do przechowywania nazwy użytkownika i hasła dla rejestru źródłowego. Dowiedz się, jak tworzyć nowe poświadczenia.
Jeśli masz gotowe poświadczenia, wybierz poświadczenia z menu rozwijanego.
W obszarze Miejsce docelowe wprowadź nazwę nowej przestrzeni nazw repozytorium usługi ACR do przechowywania buforowanych artefaktów.
Wybierz pozycję Zapisz.
Pobierz obraz z pamięci podręcznej przy użyciu polecenia platformy Docker według nazwy serwera logowania rejestru, nazwy repozytorium i żądanego tagu.
- Aby na przykład ściągnąć obraz z repozytorium
hello-world
z odpowiednim tagiemlatest
dla danego serweramyregistry.azurecr.io
logowania rejestru .
docker pull myregistry.azurecr.io/hello-world:latest
- Aby na przykład ściągnąć obraz z repozytorium
Tworzenie nowych poświadczeń
Przed skonfigurowaniem poświadczeń należy utworzyć i przechowywać wpisy tajne w usłudze Azure KeyVault i pobierać wpisy tajne z usługi Key Vault. Dowiedz się więcej o tworzeniu i przechowywaniu poświadczeń w usłudze Key Vault. I ustawić i pobrać wpis tajny z usługi Key Vault.
Przejdź do pozycji Poświadczenia>Utwórz poświadczenia.
Wprowadź nazwę nowych poświadczeń dla rejestru źródłowego.
Wybierz pozycję Uwierzytelnianie źródłowe. Pamięć podręczna artefaktów obsługuje obecnie pozycję Wybierz z usługi Key Vault i wprowadź identyfikatory URI wpisów tajnych.
W przypadku opcji Wybierz z usługi Key Vault dowiedz się więcej na temat tworzenia poświadczeń przy użyciu magazynu kluczy.
Wybierz pozycję Utwórz.
Następne kroki
- Przejdź do następnego artykułu , aby zapoznać się z przewodnikiem rozwiązywania problemów z pamięcią podręczną rejestru.