Delen via


Aanbevolen procedures voor Azure Container Registry

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

Zie voor achtergrondinformatie over registerconcepten informatie over registers, opslagplaatsen en installatiekopieën. 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 bij Premium-registers . Zie de driedelige zelfstudie Geo-replicatie in Azure Container Registry voor informatie over het gebruik van geo-replicatie.

Maximale pull-prestaties

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 runtime-onderdelen 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 opgeslagen, controleert u of u een installatiekopieënlaag kunt wisselen voor een van de installatiekopieën in de cache.

  • Aantal lagen - Het aantal gebruikte lagen verdelen. Als u te weinig hebt, profiteert u niet van laaggebruik en caching 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 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 toestaan voor meerdere groepen binnen uw organisatie. 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. Afbeeldingen die in het hele bedrijf 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 voor 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 de containerinstantie 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 distribueren naar 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 verfijnde, tijdgebonden toegang tot specifieke opslagplaatsen.

Registergrootte beheren

De opslagbeperkingen van elke servicelaag voor containerregisters zijn bedoeld om te worden afgestemd op een typisch scenario: Basic voor aan de slag, 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 ook het huidige opslaggebruik vinden in het overzicht van uw register in Azure Portal:

Informatie over het registergebruik in Azure Portal

Notitie

In een geo-gerepliceerd register wordt het 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 afbeeldingen verwijderen door een tag of manifestsamenvating te gebruiken of een hele opslagplaats te verwijderen.

Zie Containerinstallatiekopieën verwijderen in Azure Container Registry voor meer informatie over het verwijderen van installatiekopieën uit uw register, inclusief niet-gemarkeerde installatiekopieën (ook wel 'zwevende' of 'zwevende' installatiekopieën genoemd). U kunt ook een bewaarbeleid instellen voor niet-gemarkeerde manifesten.

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 Security Baseline voor Azure Container Registry voor aanbevelingen voor het verbeteren van de beveiligingsstatus van uw containerregisters.