Sdílet prostřednictvím


Mezipaměť artefaktů ve službě Azure Container Registry

Funkce mezipaměti artefaktů umožňuje uživatelům ukládat image kontejnerů do mezipaměti v privátním registru kontejneru. Mezipaměť artefaktů je k dispozici na úrovních služeb Basic, Standard a Premium.

Mezipaměť artefaktů vylepšuje správu imagí kontejnerů tím, že poskytuje řešení ukládání do mezipaměti pro veřejná i privátní úložiště.

Mezipaměť artefaktů nabízí rychlejší a spolehlivější operace načítání prostřednictvím služby Azure Container Registry (ACR), která využívá funkce, jako je podpora geografické replikace a zóny dostupnosti pro zajištění vyšší dostupnosti a zrychlení vyžádání imagí.

Mezipaměť artefaktů umožňuje přístup k registrům uloženým v mezipaměti prostřednictvím privátních sítí , aby uživatelé bez problémů odpovídali konfiguracím brány firewall a standardům dodržování předpisů.

Mezipaměť artefaktů řeší problém s omezeními přijetí změn uloženými veřejnými registry. Doporučujeme uživatelům ověřovat pravidla mezipaměti pomocí svých upstreamových zdrojových přihlašovacích údajů. Potom stáhněte image z místního ACR, abyste mohli zmírnit omezení rychlosti.

Terminologie

  • Pravidlo mezipaměti – Pravidlo mezipaměti je pravidlo, které můžete vytvořit pro načtení artefaktů z podporovaného úložiště do mezipaměti.

    • Pravidlo mezipaměti obsahuje čtyři části:

      • Název pravidla – název pravidla mezipaměti. Například Hello-World-Cache.

      • Zdroj – název zdrojového registru.

      • Cesta k úložišti – zdrojová cesta úložiště k vyhledání a načtení artefaktů, které chcete uložit do mezipaměti. Například docker.io/library/hello-world.

      • Nový obor názvů úložiště ACR – název nové cesty k úložišti artefaktů. Například hello-world. Úložiště ještě nemůže existovat uvnitř instance služby ACR.

  • Přihlašovací údaje

    • Přihlašovací údaje jsou sada uživatelských jmen a hesla pro zdrojový registr. K ověření ve veřejném nebo privátním úložišti potřebujete přihlašovací údaje. Přihlašovací údaje obsahují čtyři části.

      • Přihlašovací údaje – název vašich přihlašovacích údajů.

      • Přihlašovací server zdrojového registru – přihlašovací server zdrojového registru.

      • Ověřování zdroje – umístění trezoru klíčů pro ukládání přihlašovacích údajů.

      • Tajné kódy uživatelského jména a hesla – tajné kódy obsahující uživatelské jméno a heslo.

Omezení

  • Mezipaměť bude probíhat až po dokončení stažení alespoň jedné image na dostupné imagi kontejneru. Pro každou dostupnou image musí být dokončena nová image. Mezipaměť artefaktů automaticky nenačítá nové značky obrázků, pokud je k dispozici nová značka. Tento plán je v plánu, ale v této verzi se nepodporuje.

  • Mezipaměť artefaktů podporuje pouze 1 000 pravidel mezipaměti.

Podpora upstreamu

Mezipaměť artefaktů v současné době podporuje následující upstreamové registry:

Upozorňující

Zákazníci musí generovat přihlašovací údaje nastavené na zdrojový obsah z centra Dockeru.

Upstreamové registry Technická podpora Dostupnost
Docker Hub Podporuje pouze ověřené přijetí změn. Azure CLI, Azure Portal
Registr artefaktů Microsoft Podporuje pouze neověřené přijetí změn. Azure CLI, Azure Portal
Veřejná galerie AWS Elastic Container Registry (ECR) Podporuje pouze neověřené přijetí změn. Azure CLI, Azure Portal
GitHub Container Registry Podporuje ověřené i neověřené přijetí změn. Azure CLI, Azure Portal
Přístaviště Podporuje ověřené i neověřené přijetí změn. Azure CLI, Azure Portal
registry.k8s.io Podporuje ověřené i neověřené přijetí změn. Azure CLI
Google Container Registry Podporuje ověřené i neověřené přijetí změn. Azure CLI

Zástupné znaky

Zástupný znak používá hvězdičky (*) ke shodě více cest v registru imagí kontejneru. Mezipaměť artefaktů v současné době podporuje následující zástupné cardy:

Poznámka:

Pravidla mezipaměti mapuje z cílového úložiště => zdrojové úložiště.

Zástupný znak na úrovni registru

Zástupný znak na úrovni registru umožňuje ukládat všechna úložiště do mezipaměti z upstreamového registru.

Pravidlo mezipaměti mapování. Příklad
contoso.azurecr.io/* => mcr.microsoft.com/* Mapování všech imagí v rámci ACR na MCR contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1
contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2

Zástupný znak na úrovni úložiště

Zástupný znak na úrovni úložiště umožňuje ukládat všechna úložiště do mezipaměti z nadřazeného mapování registru na předponu úložiště.

Pravidlo mezipaměti mapování. Příklad
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* Mapování konkrétních úložišť v rámci ACR na odpovídající úložiště v 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/*
Mapování konkrétních úložišť v rámci ACR na úložiště z různých upstreamových registrů contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1
contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3

Omezení pravidel mezipaměti na základě zástupných znaků

Pravidla mezipaměti se zástupnými cardy používají hvězdičky (*) ke shodě více cest v registru imagí kontejneru. Tato pravidla se nemůžou překrývat s jinými pravidly mezipaměti se zástupnými cardy. Jinými slovy, pokud máte pravidlo mezipaměti se zástupným znakem pro určitou cestu registru, nemůžete přidat další pravidlo zástupných znaků, které se s ním překrývají.

Tady je několik příkladů překrývajících se pravidel:

Příklad 1:

Existující pravidlo mezipaměti: contoso.azurecr.io/* => mcr.microsoft.com/*
Přidání nové mezipaměti: contoso.azurecr.io/library/* => docker.io/library/*

Přidání nového pravidla mezipaměti je blokováno, protože cesta contoso.azurecr.io/library/* k cílovému úložišti se překrývají s existujícím pravidlem contoso.azurecr.io/*se zástupným znakem .

Příklad 2:

Existující pravidlo mezipaměti: contoso.azurecr.io/library/* =>mcr.microsoft.com/library/*
Přidání nové mezipaměti: contoso.azurecr.io/library/dotnet/* =>docker.io/library/dotnet/*

Přidání nového pravidla mezipaměti je blokováno, protože cesta contoso.azurecr.io/library/dotnet/* k cílovému úložišti se překrývají s existujícím pravidlem contoso.azurecr.io/library/*se zástupným znakem .

Omezení pro statická nebo pevná pravidla mezipaměti

Statická nebo pevná pravidla mezipaměti jsou konkrétnější a nepoužívají zástupné cardy. Můžou se překrývat s pravidly mezipaměti na základě zástupných znaků. Pokud pravidlo mezipaměti určuje pevnou cestu k úložišti, umožňuje překrývat se s pravidlem mezipaměti založeném na zástupných nákresech.

Příklad 1:

Existující pravidlo mezipaměti: contoso.azurecr.io/* =>mcr.microsoft.com/*
Přidání nové mezipaměti: contoso.azurecr.io/library/dotnet =>docker.io/library/dotnet

Přidání nového pravidla mezipaměti je povoleno, protože contoso.azurecr.io/library/dotnet je statická cesta a může se překrývat s pravidlem contoso.azurecr.io/*mezipaměti se zástupným znakem .

Povolení mezipaměti artefaktů – Azure CLI

Mezipaměť artefaktů můžete povolit ve službě Azure Container Registry s ověřováním nebo bez ověřování pomocí Azure CLI pomocí postupu.

Požadavky

Nakonfigurujte a vytvořte pravidlo mezipaměti bez přihlašovacích údajů.

  1. Spuštěním příkazu az acr Cache create vytvořte pravidlo mezipaměti.

    • Pokud například chcete vytvořit pravidlo mezipaměti bez přihlašovacích údajů pro danou MyRegistry službu Azure Container Registry.
    az acr Cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu-
    
  2. Spuštěním příkazu az acr Cache show zobrazte pravidlo mezipaměti.

    • Pokud chcete například zobrazit pravidlo mezipaměti pro danou MyRegistry službu Azure Container Registry.
     az acr Cache show -r MyRegistry -n MyRule
    

Vytvoření přihlašovacích údajů

Před konfigurací přihlašovacích údajů musíte vytvořit a uložit tajné kódy ve službě Azure KeyVault a načíst tajné kódy ze služby Key Vault. Přečtěte si další informace o vytváření a ukládání přihlašovacích údajů ve službě Key Vault. A nastavit a načíst tajný kód ze služby Key Vault.

  1. Spuštěním příkazu az acr credential set create vytvořte přihlašovací údaje.

    • Pokud například chcete vytvořit přihlašovací údaje pro danou MyRegistry službu 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. Spusťte příkaz az acr credential set update update the username or password KV secret ID on a credential set.

    • Pokud například chcete aktualizovat ID tajného klíče KV uživatelského jména nebo hesla pro přihlašovací údaje pro danou MyRegistry službu Azure Container Registry.
    az acr credential-set update -r MyRegistry -n MyDockerHubCredSet -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
    
  3. Spuštěním příkazu az acr credential-set show zobrazte přihlašovací údaje.

    • Pokud chcete například zobrazit sadu přihlašovacích údajů v dané MyRegistry službě Azure Container Registry.
    az acr credential-set show -r MyRegistry -n MyDockerHubCredSet
    

Konfigurace a vytvoření pravidla mezipaměti s použitím přihlašovacích údajů

  1. Spuštěním příkazu az acr cache create vytvořte pravidlo mezipaměti.

    • Pokud například chcete vytvořit pravidlo mezipaměti s přihlašovacími údaji pro danou MyRegistry službu Azure Container Registry.
    az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyDockerHubCredSet
    
  2. Spuštěním příkazu az acr cache update aktualizujte přihlašovací údaje v pravidle mezipaměti.

    • Pokud například chcete aktualizovat přihlašovací údaje v pravidle mezipaměti pro danou MyRegistry službu Azure Container Registry.
    az acr cache update -r MyRegistry -n MyRule -c NewCredSet
    
    • Pokud například chcete odebrat přihlašovací údaje z existujícího pravidla mezipaměti pro danou MyRegistry službu Azure Container Registry.
    az acr cache update -r MyRegistry -n MyRule --remove-cred-set
    
  3. Spuštěním příkazu az acr cache show zobrazte pravidlo mezipaměti.

    • Pokud například chcete zobrazit pravidlo mezipaměti pro danou MyRegistry službu Azure Container Registry.
     az acr cache show -r MyRegistry -n MyRule
    

Přiřazení oprávnění ke službě Key Vault pomocí zásad přístupu (starší verze)

  1. Získejte ID objektu zabezpečení systémové identity, které se používá pro přístup ke službě Key Vault.

    PRINCIPAL_ID=$(az acr credential-set show 
                    -n MyDockerHubCredSet \ 
                    -r MyRegistry  \
                    --query 'identity.principalId' \ 
                    -o tsv) 
    
  2. Před vyžádáním image spusťte příkaz az keyvault set-policy a přiřaďte přístup ke službě Key Vault.

    • Pokud chcete například přiřadit oprávnění pro přístup k tajnému kódu služby KeyVault.
    az keyvault set-policy --name MyKeyVault \
    --object-id $PRINCIPAL_ID \
    --secret-permissions get
    

Stažení obrázku

  1. Stáhněte image z mezipaměti pomocí příkazu Dockeru podle názvu přihlašovacího serveru registru, názvu úložiště a požadované značky.

    • Chcete-li například vyžádat image z úložiště hello-world s požadovanou značkou latest pro daný přihlašovací server myregistry.azurecr.ioregistru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

Vyčištění prostředků

  1. Spuštěním příkazu az acr cache list zobrazte seznam pravidel mezipaměti ve službě Azure Container Registry.

    • Pokud například chcete zobrazit seznam pravidel mezipaměti pro danou MyRegistry službu Azure Container Registry.
     az acr cache list -r MyRegistry
    
  2. Spuštěním příkazu az acr cache delete odstraňte pravidlo mezipaměti.

    • Pokud například chcete odstranit pravidlo mezipaměti pro danou MyRegistry službu Azure Container Registry.
    az acr cache delete -r MyRegistry -n MyRule
    
  3. Spuštěnímpříkazu az acr credential set list vypíšete přihlašovací údaje ve službě Azure Container Registry.

    • Pokud například chcete zobrazit seznam přihlašovacích údajů pro danou MyRegistry službu Azure Container Registry.
    az acr credential-set list -r MyRegistry
    
  4. Spuštěním příkazu az acr credential-set delete odstraňte přihlašovací údaje.

    • Pokud například chcete odstranit přihlašovací údaje pro danou MyRegistry službu Azure Container Registry.
    az acr credential-set delete -r MyRegistry -n MyDockerHubCredSet
    

Povolení mezipaměti artefaktů – Azure Portal

Mezipaměť artefaktů můžete ve službě Azure Container Registry povolit pomocí webu Azure Portal nebo bez ověřování pomocí následujícího postupu.

Požadavky

Konfigurace mezipaměti artefaktů bez přihlašovacích údajů

Postupujte podle pokynů k vytvoření pravidla mezipaměti na webu Azure Portal.

  1. Přejděte do služby Azure Container Registry.

  2. V boční nabídce v části Služby vyberte Mezipaměť.

    Snímek obrazovky s mezipamětí registru na webu Azure Portal

  3. Vyberte Vytvořit pravidlo.

    Snímek obrazovky s vytvořením pravidla na webu Azure Portal

  4. Zobrazí se okno pro nové pravidlo mezipaměti.

    Snímek obrazovky s novým pravidlem mezipaměti na webu Azure Portal

  5. Zadejte název pravidla.

  6. V rozevírací nabídce vyberte Zdrojový registr.

  7. Zadejte cestu úložiště k artefaktům, které chcete uložit do mezipaměti.

  8. Ověřování můžete přeskočit, pokud nemáte přístup k privátnímu úložišti nebo provádíte ověřené přijetí změn.

  9. V části Cíl zadejte název nového oboru názvů úložiště ACR pro ukládání artefaktů uložených v mezipaměti.

    Snímek obrazovky pro uložení pravidla mezipaměti na webu Azure Portal

  10. Vyberte možnost Uložit.

  11. Stáhněte image z mezipaměti pomocí příkazu Dockeru podle názvu přihlašovacího serveru registru, názvu úložiště a požadované značky.

    • Chcete-li například vyžádat image z úložiště hello-world s požadovanou značkou latest pro daný přihlašovací server myregistry.azurecr.ioregistru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

Konfigurace mezipaměti artefaktů s ověřováním

Postupujte podle pokynů k vytvoření pravidla mezipaměti na webu Azure Portal.

  1. Přejděte do služby Azure Container Registry.

  2. V boční nabídce v části Služby vyberte Mezipaměť.

    Snímek obrazovky s mezipamětí registru na webu Azure Portal

  3. Vyberte Vytvořit pravidlo.

    Snímek obrazovky s vytvořením pravidla na webu Azure Portal

  4. Zobrazí se okno pro nové pravidlo mezipaměti.

    Snímek obrazovky s novým pravidlem mezipaměti s ověřováním na webu Azure Portal

  5. Zadejte název pravidla.

  6. V rozevírací nabídce vyberte Zdrojový registr.

  7. Zadejte cestu úložiště k artefaktům, které chcete uložit do mezipaměti.

  8. Pokud chcete přidat ověřování do úložiště, zaškrtněte políčko Ověřování .

  9. Zvolte Vytvořit nové přihlašovací údaje a vytvořte novou sadu přihlašovacích údajů pro uložení uživatelského jména a hesla pro zdrojový registr. Naučte se vytvářet nové přihlašovací údaje.

  10. Pokud jsou přihlašovací údaje připravené, vyberte přihlašovací údaje z rozevírací nabídky.

  11. V části Cíl zadejte název nového oboru názvů úložiště ACR pro ukládání artefaktů uložených v mezipaměti.

    Snímek obrazovky pro uložení pravidla mezipaměti na webu Azure Portal

  12. Vyberte možnost Uložit.

  13. Stáhněte image z mezipaměti pomocí příkazu Dockeru podle názvu přihlašovacího serveru registru, názvu úložiště a požadované značky.

    • Chcete-li například vyžádat image z úložiště hello-world s požadovanou značkou latest pro daný přihlašovací server myregistry.azurecr.ioregistru .
     docker pull myregistry.azurecr.io/hello-world:latest
    

Vytvoření nových přihlašovacích údajů

Před konfigurací přihlašovacích údajů je nutné vytvořit a uložit tajné kódy ve službě Azure KeyVault a načíst tajné kódy ze služby Key Vault. Přečtěte si další informace o vytváření a ukládání přihlašovacích údajů ve službě Key Vault. A nastavit a načíst tajný kód ze služby Key Vault.

  1. Přejděte na Přihlašovací údaje Pro vytvoření přihlašovacích>údajů.

    Snímek obrazovky pro přidání přihlašovacích údajů na webu Azure Portal

    Snímek obrazovky pro vytvoření nových přihlašovacích údajů na webu Azure Portal

  2. Zadejte název nových přihlašovacích údajů pro zdrojový registr.

  3. Vyberte zdrojové ověřování. Mezipaměť artefaktů aktuálně podporuje výběr ze služby Key Vault a identifikátor URI tajného kódu Enter.

  4. Další informace o vytváření přihlašovacích údajů pomocí trezoru klíčů najdete v části Vybrat ze služby Key Vault.

  5. Vyberte možnost Vytvořit.

Další kroky

  • Přejděte k dalšímu článku a projděte si průvodce odstraňováním potíží s mezipamětí registru.