Artefactcache - Overzicht
Met de functie Artefactcache kunnen gebruikers containerinstallatiekopieën in een privécontainerregister opslaan. Artefactcache is beschikbaar in de servicelagen Basic, Standard en Premium.
Dit artikel is deel één in een zesdelige reeks zelfstudies. In de zelfstudie wordt het volgende behandeld:
- Artefactcache
- Artefactcache inschakelen - Azure Portal
- Artefactcache met verificatie inschakelen - Azure Portal
- Artefactcache inschakelen - Azure CLI
- Artefactcache met verificatie inschakelen - Azure CLI
- Gids voor probleemoplossing voor artefactcache
Artefactcache
Met ArtefactCache kunt u containerinstallatiekopieën uit openbare en privéopslagplaatsen in de cache opslaan.
Het implementeren van artefactcache biedt de volgende voordelen:
Betrouwbaardere pull-bewerkingen: snellere pulls van containerinstallatiekopieën zijn haalbaar door de containerinstallatiekopieën in de cache op te nemen in ACR. Omdat Microsoft het Azure-netwerk beheert, zijn pull-bewerkingen sneller door ondersteuning voor geo-replicatie en beschikbaarheidszone te bieden aan de klanten.
Privénetwerken: in cache opgeslagen registers zijn beschikbaar op privénetwerken. Daarom kunnen gebruikers hun firewall configureren om te voldoen aan nalevingsstandaarden.
Ervoor zorgen dat upstream-inhoud wordt geleverd: alle registers, met name openbare registers, zoals Docker Hub en anderen, hebben anonieme pull-limieten om ervoor te zorgen dat ze services aan iedereen kunnen leveren. Met artefactcache kunnen gebruikers installatiekopieën ophalen uit de lokale ACR in plaats van het upstream-register. Artefactcache zorgt ervoor dat de inhoud van upstream wordt geleverd en gebruikers profiteren van het ophalen van de containerinstallatiekopieën uit de cache zonder dat ze worden geteld tot de pull-limieten.
Terminologie
Cacheregel: een cacheregel is een regel die u kunt maken om artefacten op te halen uit een ondersteunde opslagplaats in uw cache.
Een cacheregel bevat vier delen:
Regelnaam: de naam van de cacheregel. Bijvoorbeeld
Hello-World-Cache
.Bron: de naam van het bronregister.
Pad naar opslagplaats: het bronpad van de opslagplaats om artefacten te vinden en op te halen die u in de cache wilt opslaan. Bijvoorbeeld
docker.io/library/hello-world
.Nieuwe naamruimte voor ACR-opslagplaats: de naam van het pad naar de nieuwe opslagplaats voor het opslaan van artefacten. Bijvoorbeeld
hello-world
. De opslagplaats kan nog niet bestaan in het ACR-exemplaar.
Referenties
Referenties zijn een set gebruikersnaam en wachtwoord voor het bronregister. U hebt referenties nodig om te verifiëren bij een openbare of privéopslagplaats. Referenties bevatten vier onderdelen
Referenties: de naam van uw referenties.
Aanmeldingsserver voor bronregister: de aanmeldingsserver van uw bronregister.
Bronverificatie: de sleutelkluislocaties voor het opslaan van referenties.
Geheimen voor gebruikersnaam en wachtwoord: de geheimen die de gebruikersnaam en het wachtwoord bevatten.
Beperkingen
Cache vindt alleen plaats nadat ten minste één pull-installatiekopie van de installatiekopie is voltooid op de beschikbare containerinstallatiekopie. Voor elke beschikbare nieuwe installatiekopie moet een nieuwe pull-installatiekopie zijn voltooid. Artefactcache haalt niet automatisch nieuwe tags met afbeeldingen op wanneer er een nieuwe tag beschikbaar is. Het staat op de roadmap, maar wordt niet ondersteund in deze release.
ArtefactCache ondersteunt alleen 1000 cacheregels.
Upstream-ondersteuning
Artifact Cache ondersteunt momenteel de volgende upstream-registers:
Upstream-registers | Ondersteuning | Beschikbaarheid |
---|---|---|
Docker Hub | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure CLI, Azure Portal |
Microsoft-artefactregister | Ondersteunt alleen niet-geverifieerde pulls. | Azure CLI, Azure Portal |
ECR Openbaar | Ondersteunt alleen niet-geverifieerde pulls. | Azure CLI, Azure Portal |
GitHub Container Registry | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure CLI, Azure Portal |
Nvidia | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure-CLI |
Quay | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure CLI, Azure Portal |
registry.k8s.io | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure-CLI |
Google Container Registry | Ondersteunt zowel geverifieerde pulls als niet-geverifieerde pulls. | Azure-CLI |
Jokertekens
Jokertekens gebruiken sterretjes (*) om meerdere paden in het containerinstallatiekopieënregister te vinden. Artefactcache ondersteunt momenteel de volgende jokertekens:
Notitie
De cacheregelstoewijzing van doelopslagplaats => bronopslagplaats.
Jokerteken op registerniveau
Met het jokerteken op registerniveau kunt u alle opslagplaatsen uit een upstream-register in de cache opslaan.
Cacheregel | Toewijzing | Opmerking |
---|---|---|
contoso.azurecr.io/* => mcr.microsoft.com/* | Toewijzing voor alle installatiekopieën onder ACR aan MCR. | contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1 contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2 |
Jokerteken op opslagplaatsniveau
Met het jokerteken op opslagplaatsniveau kunt u alle opslagplaatsen uit een upstream-registertoewijzing opslaan in het voorvoegsel van de opslagplaats.
Cacheregel | Toewijzing | Opmerking |
---|---|---|
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* | Specifieke opslagplaatsen onder ACR toewijzen aan bijbehorende opslagplaatsen in 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/* |
Specifieke opslagplaatsen onder ACR toewijzen aan opslagplaatsen uit verschillende upstreamregisters. | contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1 contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3 |
Beperkingen voor cacheregels op basis van jokertekens
Regels voor jokertekens gebruiken sterretjes (*) om meerdere paden in het containerinstallatiekopieënregister te vinden. Deze regels mogen niet overlappen met andere regels voor jokertekenscache. Met andere woorden, als u een cacheregel voor jokertekens voor een bepaald registerpad hebt, kunt u geen andere jokertekenregel toevoegen die hiermee overlapt.
Hier volgen enkele voorbeelden van overlappende regels:
Voorbeeld 1:
Bestaande cacheregel: contoso.azurecr.io/* => mcr.microsoft.com/*
Nieuwe cache die wordt toegevoegd: contoso.azurecr.io/library/* => docker.io/library/*
De toevoeging van de nieuwe cacheregel wordt geblokkeerd omdat het pad contoso.azurecr.io/library/*
van de doelopslagplaats overlapt met de bestaande jokertekenregel contoso.azurecr.io/*
.
Voorbeeld 2:
Bestaande cacheregel: contoso.azurecr.io/library/*
=>mcr.microsoft.com/library/*
Nieuwe cache die wordt toegevoegd: contoso.azurecr.io/library/dotnet/*
=>docker.io/library/dotnet/*
De toevoeging van de nieuwe cacheregel wordt geblokkeerd omdat het pad contoso.azurecr.io/library/dotnet/*
van de doelopslagplaats overlapt met de bestaande jokertekenregel contoso.azurecr.io/library/*
.
Beperkingen voor statische/vaste cacheregels
Statische of vaste cacheregels zijn specifieker en gebruiken geen jokertekens. Ze kunnen overlappen met cacheregels op basis van jokertekens. Als een cacheregel een vast pad naar de opslagplaats opgeeft, mag deze overlappen met een cacheregel op basis van jokertekens.
Voorbeeld 1:
Bestaande cacheregel: contoso.azurecr.io/*
=>mcr.microsoft.com/*
Nieuwe cache die wordt toegevoegd: contoso.azurecr.io/library/dotnet
=>docker.io/library/dotnet
Het toevoegen van de nieuwe cacheregel is toegestaan omdat contoso.azurecr.io/library/dotnet
dit een statisch pad is en kan overlappen met de regel voor jokertekens contoso.azurecr.io/*
.
Volgende stappen
- Ga naar het volgende artikel om Artefactcache in te schakelen met behulp van Azure Portal: Artefactcache inschakelen.