Udostępnij za pośrednictwem


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

Skonfiguruj i utwórz regułę pamięci podręcznej bez poświadczeń.

  1. 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-
    
  2. 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
    

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.

  1. 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
    
  2. 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
    
  3. 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
    

Konfigurowanie i tworzenie reguły pamięci podręcznej przy użyciu poświadczeń

  1. 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
    
  2. 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
    
  3. 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
    

Przypisywanie uprawnień do usługi Key Vault przy użyciu zasad dostępu (starsza wersja)

  1. 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) 
    
  2. 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

  1. 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 tagiem latest dla danego serwera myregistry.azurecr.iologowania rejestru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

Oczyszczanie zasobów

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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
    

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

Konfigurowanie pamięci podręcznej artefaktów bez poświadczeń

Wykonaj kroki tworzenia reguły pamięci podręcznej w witrynie Azure Portal.

  1. Przejdź do usługi Azure Container Registry.

  2. W menu bocznym w obszarze Usługi wybierz pozycję Pamięć podręczna.

    Zrzut ekranu przedstawiający pamięć podręczną rejestru w witrynie Azure Portal.

  3. Wybierz pozycję Utwórz regułę.

    Zrzut ekranu przedstawiający tworzenie reguły w witrynie Azure Portal.

  4. Zostanie wyświetlone okno nowej reguły pamięci podręcznej.

    Zrzut ekranu przedstawiający nową regułę pamięci podręcznej w witrynie Azure Portal.

  5. Wprowadź nazwę reguły.

  6. Wybierz pozycję Rejestr źródłowy z menu rozwijanego.

  7. Wprowadź ścieżkę repozytorium do artefaktów, które chcesz buforować.

  8. Uwierzytelnianie można pominąć, jeśli nie uzyskujesz dostępu do prywatnego repozytorium lub wykonujesz ściągnięcie uwierzytelnione.

  9. W obszarze Miejsce docelowe wprowadź nazwę nowej przestrzeni nazw repozytorium usługi ACR do przechowywania buforowanych artefaktów.

    Zrzut ekranu przedstawiający zapisywanie reguły pamięci podręcznej w witrynie Azure Portal.

  10. Wybierz pozycję Zapisz.

  11. 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 tagiem latest dla danego serwera myregistry.azurecr.iologowania rejestru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

Konfigurowanie pamięci podręcznej artefaktów przy użyciu uwierzytelniania

Wykonaj kroki tworzenia reguły pamięci podręcznej w witrynie Azure Portal.

  1. Przejdź do usługi Azure Container Registry.

  2. W menu bocznym w obszarze Usługi wybierz pozycję Pamięć podręczna.

    Zrzut ekranu przedstawiający pamięć podręczną rejestru w witrynie Azure Portal.

  3. Wybierz pozycję Utwórz regułę.

    Zrzut ekranu przedstawiający tworzenie reguły w witrynie Azure Portal.

  4. Zostanie wyświetlone okno nowej reguły pamięci podręcznej.

    Zrzut ekranu przedstawiający nową regułę pamięci podręcznej z uwierzytelnianiem w witrynie Azure Portal.

  5. Wprowadź nazwę reguły.

  6. Wybierz pozycję Rejestr źródłowy z menu rozwijanego.

  7. Wprowadź ścieżkę repozytorium do artefaktów, które chcesz buforować.

  8. Aby dodać uwierzytelnianie do repozytorium, zaznacz pole Uwierzytelnianie .

  9. 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.

  10. Jeśli masz gotowe poświadczenia, wybierz poświadczenia z menu rozwijanego.

  11. W obszarze Miejsce docelowe wprowadź nazwę nowej przestrzeni nazw repozytorium usługi ACR do przechowywania buforowanych artefaktów.

    Zrzut ekranu przedstawiający zapisywanie reguły pamięci podręcznej w witrynie Azure Portal.

  12. Wybierz pozycję Zapisz.

  13. 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 tagiem latest dla danego serwera myregistry.azurecr.iologowania rejestru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

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.

  1. Przejdź do pozycji Poświadczenia>Utwórz poświadczenia.

    Zrzut ekranu przedstawiający dodawanie poświadczeń w witrynie Azure Portal.

    Zrzut ekranu przedstawiający tworzenie nowych poświadczeń w witrynie Azure Portal.

  2. Wprowadź nazwę nowych poświadczeń dla rejestru źródłowego.

  3. 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.

  4. W przypadku opcji Wybierz z usługi Key Vault dowiedz się więcej na temat tworzenia poświadczeń przy użyciu magazynu kluczy.

  5. 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.