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:
- Artefaktcache
- Aktivera Artefaktcache – Azure-portalen
- Aktivera Artefaktcache med autentisering – Azure-portalen
- Aktivera Artefaktcache – Azure CLI
- Aktivera Artefaktcache med autentisering – Azure CLI
- 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:
Regelnamn – namnet på cacheregeln. Exempel:
Hello-World-Cache
Källa – namnet på källregistret.
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
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
Autentiseringsuppgifter – namnet på dina autentiseringsuppgifter.
Inloggningsserver för källregister – inloggningsservern för källregistret.
Källautentisering – nyckelvalvets platser där autentiseringsuppgifter ska lagras.
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.