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
- Ke spuštění příkladů příkazů v tomto článku můžete použít Azure Cloud Shell nebo místní instalaci Azure CLI. Pokud ho chcete používat místně, vyžaduje se verze 2.46.0 nebo novější. Spuštěním vyhledejte
az --version
verzi. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - K uložení přihlašovacích údajů máte existující službu 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.
- Tajné kódy můžete nastavit a načíst ze služby Key Vault. Přečtěte si další informace o nastavení a načtení tajného klíče ze služby Key Vault.
Nakonfigurujte a vytvořte pravidlo mezipaměti bez přihlašovacích údajů.
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-
- Pokud například chcete vytvořit pravidlo mezipaměti bez přihlašovacích údajů pro danou
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
- Pokud chcete například zobrazit pravidlo mezipaměti pro danou
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.
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
- Pokud například chcete vytvořit přihlašovací údaje pro danou
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
- 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
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
- Pokud chcete například zobrazit sadu přihlašovacích údajů v dané
Konfigurace a vytvoření pravidla mezipaměti s použitím přihlašovacích údajů
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
- Pokud například chcete vytvořit pravidlo mezipaměti s přihlašovacími údaji pro danou
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
- Pokud například chcete aktualizovat přihlašovací údaje v pravidle mezipaměti pro danou
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
- Pokud například chcete zobrazit pravidlo mezipaměti pro danou
Přiřazení oprávnění ke službě Key Vault pomocí zásad přístupu (starší verze)
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)
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
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čkoulatest
pro daný přihlašovací servermyregistry.azurecr.io
registru .
docker pull myregistry.azurecr.io/hello-world:latest
- Chcete-li například vyžádat image z úložiště
Vyčištění prostředků
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
- Pokud například chcete zobrazit seznam pravidel mezipaměti pro danou
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
- Pokud například chcete odstranit pravidlo mezipaměti pro danou
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
- Pokud například chcete zobrazit seznam přihlašovacích údajů pro danou
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
- Pokud například chcete odstranit přihlašovací údaje pro danou
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
- Přihlaste se k portálu Azure Portal.
- Máte existující službu Key Vault k ukládání přihlašovacích údajů. Přečtěte si další informace o vytváření a ukládání přihlašovacích údajů ve službě Key Vault.
- Máte existující trezory klíčů bez řízení přístupu na základě role (RBAC).
Konfigurace mezipaměti artefaktů bez přihlašovacích údajů
Postupujte podle pokynů k vytvoření pravidla mezipaměti na webu Azure Portal.
Přejděte do služby Azure Container Registry.
V boční nabídce v části Služby vyberte Mezipaměť.
Vyberte Vytvořit pravidlo.
Zobrazí se okno pro nové pravidlo mezipaměti.
Zadejte název pravidla.
V rozevírací nabídce vyberte Zdrojový registr.
Zadejte cestu úložiště k artefaktům, které chcete uložit do mezipaměti.
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.
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.
Vyberte možnost Uložit.
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čkoulatest
pro daný přihlašovací servermyregistry.azurecr.io
registru .
docker pull myregistry.azurecr.io/hello-world:latest
- Chcete-li například vyžádat image z úložiště
Konfigurace mezipaměti artefaktů s ověřováním
Postupujte podle pokynů k vytvoření pravidla mezipaměti na webu Azure Portal.
Přejděte do služby Azure Container Registry.
V boční nabídce v části Služby vyberte Mezipaměť.
Vyberte Vytvořit pravidlo.
Zobrazí se okno pro nové pravidlo mezipaměti.
Zadejte název pravidla.
V rozevírací nabídce vyberte Zdrojový registr.
Zadejte cestu úložiště k artefaktům, které chcete uložit do mezipaměti.
Pokud chcete přidat ověřování do úložiště, zaškrtněte políčko Ověřování .
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.
Pokud jsou přihlašovací údaje připravené, vyberte přihlašovací údaje z rozevírací nabídky.
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.
Vyberte možnost Uložit.
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čkoulatest
pro daný přihlašovací servermyregistry.azurecr.io
registru .
docker pull myregistry.azurecr.io/hello-world:latest
- Chcete-li například vyžádat image z úložiště
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.
Přejděte na Přihlašovací údaje Pro vytvoření přihlašovacích>údajů.
Zadejte název nových přihlašovacích údajů pro zdrojový registr.
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.
Další informace o vytváření přihlašovacích údajů pomocí trezoru klíčů najdete v části Vybrat ze služby Key Vault.
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.