Share via


Artefaktcache – översikt

Med funktionen Artefaktcache kan användare cachelagrar containeravbildningar i ett privat containerregister. Artefaktcache är tillgängligt på tjänstnivåerna Basic, Standard och Premium.

Den här artikeln är del ett i en självstudieserie i sex delar. Självstudien beskriver:

  1. Artefaktcache
  2. Aktivera Artefaktcache – Azure-portalen
  3. Aktivera Artefaktcache med autentisering – Azure-portalen
  4. Aktivera Artefaktcache – Azure CLI
  5. Aktivera Artefaktcache med autentisering – Azure CLI
  6. Felsökningsguide för Artefaktcache

Artefaktcache

Med Artefaktcache kan du cachelagrar containeravbildningar från offentliga och privata lagringsplatser.

Implementering av Artefaktcache ger följande fördelar:

Mer tillförlitliga pull-åtgärder: Snabbare hämtningar av containeravbildningar kan uppnås genom cachelagring av containeravbildningarna i ACR. Eftersom Microsoft hanterar Azure-nätverket går pull-åtgärderna snabbare genom att ge stöd för geo-replikering och tillgänglighetszon till kunderna.

Privata nätverk: Cachelagrade register är tillgängliga i privata nätverk. Därför kan användarna konfigurera brandväggen så att den uppfyller efterlevnadsstandarderna.

Se till att uppströmsinnehåll levereras: Alla register, särskilt offentliga som Docker Hub och andra, har anonyma pull-gränser för att säkerställa att de kan tillhandahålla tjänster till alla. Med Artefaktcache kan användare hämta avbildningar från den lokala ACR:n i stället för det överordnade registret. Artefaktcache säkerställer innehållsleveransen från uppströms och användarna får fördelen av att hämta containeravbildningarna från cachen utan att räkna till pull-gränserna.

Terminologi

  • Cacheregel – en cacheregel är en regel som du kan skapa för att hämta artefakter från en lagringsplats som stöds till din cache.

    • En cacheregel innehåller fyra delar:

      1. Regelnamn – namnet på cacheregeln. Exempel: Hello-World-Cache

      2. Källa – namnet på källregistret.

      3. Sökväg till lagringsplats – källsökvägen för lagringsplatsen för att hitta och hämta artefakter som du vill cachelagrar. Exempel: docker.io/library/hello-world

      4. Nytt namnområde för ACR-lagringsplats – namnet på den nya lagringsplatsens sökväg för att lagra artefakter. Exempel: hello-world Lagringsplatsen kan inte redan finnas i ACR-instansen.

  • Autentiseringsuppgifter

    • Autentiseringsuppgifter är en uppsättning användarnamn och lösenord för källregistret. Du behöver autentiseringsuppgifter för att autentisera med en offentlig eller privat lagringsplats. Autentiseringsuppgifterna innehåller fyra delar

      1. Autentiseringsuppgifter – namnet på dina autentiseringsuppgifter.

      2. Inloggningsserver för källregister – inloggningsservern för källregistret.

      3. Källautentisering – nyckelvalvets platser där autentiseringsuppgifter ska lagras.

      4. Användarnamn och lösenordshemligheter – Hemligheterna som innehåller användarnamnet och lösenordet.

Begränsningar

  • Cacheminnet sker endast när minst en avbildningshämtning har slutförts på den tillgängliga containeravbildningen. För varje ny avbildning som är tillgänglig måste en ny avbildningshämtning vara klar. Artefaktcache hämtar inte automatiskt nya taggar av bilder när en ny tagg är tillgänglig. Den finns med i översikten men stöds inte i den här versionen.

  • Artefaktcache stöder endast 1 000 cacheregler.

Stöd för överordnad

Artifact Cache stöder för närvarande följande överordnade register:

Överordnad register Support Tillgänglighet
Docker Hub Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI, Azure-portalen
Microsofts artefaktregister Stöder endast oautentiserade hämtningar. Azure CLI, Azure-portalen
OFFENTLIG ECR Stöder endast oautentiserade hämtningar. Azure CLI, Azure-portalen
GitHub Container Registry Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI, Azure-portalen
Nvidia Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI
Quay Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI, Azure-portalen
registry.k8s.io Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI
Google Container Registry Stöder både autentiserade hämtningar och oautentiserade hämtningar. Azure CLI

Jokertecken

Jokertecken använder asterisker (*) för att matcha flera sökvägar i containeravbildningsregistret. Artifact Cache stöder för närvarande följande jokertecken:

Kommentar

Cachereglerna mappas från mållagringsplatsen => källlagringsplatsen.

Jokertecken på registernivå

Med jokertecknet på registernivå kan du cachelagrat alla lagringsplatser från ett uppströmsregister.

Cacheregel Mappning Exempel
contoso.azurecr.io/* => mcr.microsoft.com/* Mappning för alla bilder under ACR till MCR. contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1
contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2

Jokertecken på lagringsplatsnivå

Med jokertecken på lagringsplatsnivå kan du cachelagrat alla lagringsplatser från en överordnad registermappning till lagringsplatsprefixet.

Cacheregel Mappning Exempel
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* Mappa specifika lagringsplatser under ACR till motsvarande lagringsplatser i 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/*
Mappa specifika lagringsplatser under ACR till lagringsplatser från olika överordnade register. contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1
contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3

Begränsningar för jokerteckenbaserade cacheregler

Cacheregler för jokertecken använder asterisker (*) för att matcha flera sökvägar i containeravbildningsregistret. Dessa regler kan inte överlappa andra regler för jokerteckencache. Om du har en cacheregel för jokertecken för en viss registersökväg kan du med andra ord inte lägga till en annan jokerteckenregel som överlappar den.

Här följer några exempel på överlappande regler:

Exempel 1:

Befintlig cacheregel: contoso.azurecr.io/* => mcr.microsoft.com/*
Ny cache läggs till: contoso.azurecr.io/library/* => docker.io/library/*

Tillägget av den nya cacheregeln blockeras eftersom mållagringsplatsens sökväg contoso.azurecr.io/library/* överlappar den befintliga jokerteckenregeln contoso.azurecr.io/*.

Exempel 2:

Befintlig cacheregel: contoso.azurecr.io/library/* =>mcr.microsoft.com/library/*
Ny cache läggs till: contoso.azurecr.io/library/dotnet/* =>docker.io/library/dotnet/*

Tillägget av den nya cacheregeln blockeras eftersom mållagringsplatsens sökväg contoso.azurecr.io/library/dotnet/* överlappar den befintliga jokerteckenregeln contoso.azurecr.io/library/*.

Begränsningar för regler för statisk/fast cache

Statiska eller fasta cacheregler är mer specifika och använder inte jokertecken. De kan överlappa med jokerteckenbaserade cacheregler. Om en cacheregel anger en fast lagringsplatssökväg får den överlappa med en jokerteckenbaserad cacheregel.

Exempel 1:

Befintlig cacheregel: contoso.azurecr.io/* =>mcr.microsoft.com/*
Ny cache läggs till: contoso.azurecr.io/library/dotnet =>docker.io/library/dotnet

Tillägget av den nya cacheregeln tillåts eftersom contoso.azurecr.io/library/dotnet är en statisk sökväg och kan överlappa med regeln contoso.azurecr.io/*för jokerteckencache .

Nästa steg

  • Om du vill aktivera Artifact Cache med hjälp av Azure-portalen går du vidare till nästa artikel: Aktivera Artefaktcache.