Aanbevolen procedures voor Azure Container Registry

Door deze aanbevolen procedures te volgen, kunt u de prestaties en het rendabele gebruik van uw privéregister in Azure maximaliseren voor het opslaan en implementeren van containerinstallatiekopieën en andere artefacten.

Zie Over registers, opslagplaatsen en installatiekopieën voor achtergrondinformatie over registerconcepten. Zie ook Aanbevelingen voor het taggen en versiebeheer van containerinstallatiekopieën voor strategieën voor het taggen en versiebeheer van installatiekopieën in uw register.

Implementatie dichtbij het netwerk

Maak uw containerregister in dezelfde Azure-regio waar u containers implementeert. Door uw register te plaatsen in een regio die zich dichtbij het netwerk bevindt, kunnen de hosts van uw container uw helpen zowel de latentie als de kosten te verlagen.

Implementatie dichtbij het netwerk is een van de belangrijkste redenen om een privé containerregister te gebruiken. Docker-installatiekopieën hebben een efficiënte gelaagde constructie die incrementele implementaties mogelijk maakt. Nieuwe knooppunten moeten echter alle lagen ophalen die nodig zijn voor een bepaalde installatiekopie. Deze initiële docker pull kan al gauw meerdere gigabytes bedragen. Met een privéregister dichtbij uw implementatie wordt de netwerklatentie tot een minimum teruggebracht. Bovendien brengen alle openbare clouds, waaronder Azure, netwerkkosten voor uitgaande gegevens in rekening. Het binnenhalen van installatiekopieën van het ene datacenter in het andere, verhoogt behalve de latentie ook de netwerkkosten voor uitgaande gegevens.

Geo-replicatie voor implementaties in meerdere regio’s

Gebruik de functie voor geo-replicatie in Azure Container Registry om containers naar meerdere regio's te implementeren. Of u nu internationale klanten vanuit lokale datacentra helpt of uw dat uw ontwikkelteam zich op verschillende locaties bevindt, u kunt uw registerbeheer vereenvoudigen en latentie minimaliseren door geo-replicatie op uw register toe te passen. U kunt ook regionale webhooks configureren om u op de hoogte te stellen van gebeurtenissen in specifieke replica's, zoals wanneer afbeeldingen worden gepusht.

Geo-replicatie is beschikbaar met Premium-registers . Zie de driedelige zelfstudie Geo-replicatie in Azure Container Registry voor informatie over het gebruik van geo-replicatie.

Pull-prestaties maximaliseren

Naast het plaatsen van installatiekopieën dicht bij uw implementaties, kunnen kenmerken van uw installatiekopieën zelf van invloed zijn op de pull-prestaties.

  • Afbeeldingsgrootte : minimaliseer de grootte van uw afbeeldingen door onnodige lagen te verwijderen of de grootte van lagen te verkleinen. Een manier om de grootte van de installatiekopieën te verkleinen, is door de Docker-buildbenadering met meerdere fasen te gebruiken om alleen de benodigde runtimeonderdelen op te nemen.

    Controleer ook of uw installatiekopieën een lichtere basisinstallatiekopieën van het besturingssysteem kunnen bevatten. En als u een implementatieomgeving gebruikt zoals Azure Container Instances die bepaalde basisinstallatiekopieën in de cache opslaat, controleert u of u een installatiekopieënlaag kunt wisselen voor een van de in de cache opgeslagen installatiekopieën.

  • Aantal lagen : breng het aantal gebruikte lagen in balans. Als u er te weinig hebt, profiteert u niet van het hergebruik van lagen en het opslaan in cache op de host. Te veel en uw implementatieomgeving besteedt meer tijd aan het ophalen en decomprimeren. Vijf tot 10 lagen is optimaal.

Kies ook een servicelaag van Azure Container Registry die voldoet aan uw prestatiebehoeften. De Premium-laag biedt de grootste bandbreedte en de hoogste snelheid van gelijktijdige lees- en schrijfbewerkingen wanneer u implementaties met een hoog volume hebt.

Opslagplaatsnaamruimten

Met behulp van opslagplaatsnaamruimten kunt u het delen van één register tussen meerdere groepen binnen uw organisatie toestaan. Registers kunnen worden gedeeld tussen implementaties en teams. Azure Container Registry biedt ondersteuning voor geneste naamruimten, waardoor met geïsoleerde groepen kan worden gewerkt. Het register beheert echter alle opslagplaatsen onafhankelijk, niet als een hiërarchie.

Neem bijvoorbeeld de volgende container installatiekopielabels in overweging. Installatiekopieën die bedrijfsbreed worden gebruikt, zoals aspnetcore, worden in de hoofdnaamruimte geplaatst, terwijl containerinstallatiekopieën die eigendom zijn van de groepen Producten en Marketing elk hun eigen naamruimten gebruiken.

  • contoso.azurecr.io/aspnetcore:2.0
  • contoso.azurecr.io/products/widget/web:1
  • contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
  • contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42

Toegewezen resourcegroep

Omdat containerregisters resources zijn die worden gebruikt op meerdere containerhosts, moet een register zich in een eigen resourcegroep bevinden.

Hoewel u kunt experimenteren met een specifiek hosttype, zoals Azure Container Instances, wilt u waarschijnlijk het containerexemplaar verwijderen wanneer u klaar bent. Maar misschien wilt u de verzameling installatiekopieën die u naar Azure Container Registry hebt gepusht, wel houden. Door uw register in een eigen resourcegroep te plaatsen, verkleint u het risico dat u de verzameling installatiekopieën in het register per ongeluk verwijdert als u de resourcegroep van de containerinstantie verwijdert.

Verificatie en autorisatie

Voor de verificatie van een Azure-containerregister bestaan er twee primaire scenario's: afzonderlijke verificatie en serviceverificatie (ook wel een 'headless'-verificatie genoemd). De volgende tabel bevat een kort overzicht van deze scenario's en de verificatiemethode die voor elk ervan wordt aanbevolen.

Type Voorbeeldscenario Aanbevolen methode
Afzonderlijke identiteit Een ontwikkelaar die installatiekopieën binnenhaalt op of pusht vanaf zijn ontwikkelcomputer. az acr login
Headless/service-identiteit Bouw en implementeer pijplijnen waarbij de gebruiker niet direct is betrokken. Service-principal

Zie Verifiëren met een Azure-containerregister voor uitgebreide informatie over deze en andere Azure Container Registry verificatiescenario's.

Azure Container Registry ondersteunt beveiligingsprocedures in uw organisatie om taken en bevoegdheden te verdelen over verschillende identiteiten. Wijs met behulp van op rollen gebaseerd toegangsbeheer de juiste machtigingen toe aan verschillende gebruikers, service-principals of andere identiteiten die verschillende registerbewerkingen uitvoeren. Wijs bijvoorbeeld pushmachtigingen toe aan een service-principal die wordt gebruikt in een build-pijplijn en wijs pull-machtigingen toe aan een andere identiteit die wordt gebruikt voor implementatie. Maak tokens voor gedetailleerde, tijdgebonden toegang tot specifieke opslagplaatsen.

Registergrootte beheren

De opslagbeperkingen van elke servicelaag voor containerregisters zijn bedoeld om uit te lijnen met een typisch scenario: Basic om aan de slag te gaan, Standard voor de meeste productietoepassingen en Premium voor prestaties op hyperschaal en geo-replicatie. Tijdens de levensduur van het register moet u de grootte ervan beheren door regelmatig ongebruikte inhoud te verwijderen.

Gebruik de Azure CLI-opdracht az acr show-usage om het huidige verbruik van opslag en andere resources in uw register weer te geven:

az acr show-usage --resource-group myResourceGroup --name myregistry --output table

Voorbeelduitvoer:

NAME                        LIMIT         CURRENT VALUE    UNIT
--------------------------  ------------  ---------------  ------
Size                        536870912000  215629144        Bytes
Webhooks                    500           1                Count
Geo-replications            -1            3                Count
IPRules                     100           1                Count
VNetRules                   100           0                Count
PrivateEndpointConnections  10            0                Count

U kunt het huidige opslaggebruik ook vinden in het Overzicht van uw register in de Azure Portal:

Informatie over het registergebruik in Azure Portal

Notitie

In een geo-gerepliceerd register wordt opslaggebruik weergegeven voor de thuisregio. Vermenigvuldig met het aantal replicaties voor de totale verbruikte registeropslag.

Afbeeldingsgegevens verwijderen

Azure Container Registry ondersteunt verschillende methoden voor het verwijderen van installatiekopieën uit uw containerregister. U kunt installatiekopieën verwijderen per tag of manifestsamenvatt of een hele opslagplaats verwijderen.

Zie Containerinstallatiekopieën verwijderen in Azure Container Registry voor meer informatie over het verwijderen van installatiekopieën uit het register, waaronder installatiekopieën zonder tag (ook wel 'zwevende' of 'zwevende' installatiekopieën genoemd). U kunt ook een bewaarbeleid instellen voor manifesten zonder vlag.

Volgende stappen

Azure Container Registry is beschikbaar in verschillende lagen (ook wel SKU's genoemd) die verschillende mogelijkheden bieden. Zie Azure Container Registry servicelagen voor meer informatie over de beschikbare servicelagen.

Zie Azure-beveiligingsbasislijn voor Azure Container Registry voor aanbevelingen voor het verbeteren van de beveiligingspostuur van uw containerregisters.