Zoneredundantie inschakelen in Azure Container Registry voor tolerantie en hoge beschikbaarheid
Naast geo-replicatie, waarmee registergegevens in een of meer Azure-regio's worden gerepliceerd om beschikbaarheid te bieden en latentie voor regionale bewerkingen te verminderen, ondersteunt Azure Container Registry optionele zoneredundantie. Zoneredundantie biedt tolerantie en hoge beschikbaarheid voor een register- of replicatieresource (replica) in een specifieke regio.
In dit artikel wordt beschreven hoe u een zoneredundante containerregister of replica instelt met behulp van de Azure CLI- of Azure Portal- of Azure Resource Manager-sjabloon.
Zoneredundantie is een functie van de servicelaag Premium-containerregister. Zie Azure Container Registry-servicelagen voor informatie over registerservicelagen en -limieten.
Regionale ondersteuning
ACR-Beschikbaarheidszones worden ondersteund in de volgende regio's:
Noord- en Zuid-Amerika Europa Afrika Azië en Stille Oceaan Brazilië - zuid
Canada - midden
VS - centraal
VS - oost
VS - oost 2
VS - oost 2 EUAP
VS - zuid-centraal
Amerikaanse overheid Virginia
VS - west 2
US - west 3Frankrijk - centraal
Duitsland - west-centraal
Italië - noord
Europa - noord
Noorwegen - oost
Zweden - centraal
Zwitserland - noord
Verenigd Koninkrijk Zuid
Europa -westZuid-Afrika - noord Australië - oost
India - centraal
China - noord 3
Azië - oost
Japan - oost
Korea - centraal
Qatar - centraal
Azië - zuidoost
VAE - noordRegioconversies naar beschikbaarheidszones worden momenteel niet ondersteund.
Als u ondersteuning voor beschikbaarheidszones in een regio wilt inschakelen, maakt u het register in de gewenste regio waarvoor ondersteuning voor beschikbaarheidszones is ingeschakeld of voegt u een gerepliceerde regio toe waarvoor ondersteuning voor beschikbaarheidszones is ingeschakeld.
Een register met een az-stempel maakt standaard een thuisregioreplicatie met een stempel met AZ-functionaliteit. De AZ-stempel kan niet worden uitgeschakeld zodra deze is ingeschakeld.
De replicatie van de thuisregio vertegenwoordigt het register van de basisregio. Het helpt bij het weergeven en beheren van de eigenschappen van de beschikbaarheidszone en kan niet worden verwijderd.
De beschikbaarheidszone is per regio, zodra de replicaties zijn gemaakt, kunnen hun statussen niet worden gewijzigd, behalve door de replicaties te verwijderen en opnieuw te maken.
Zoneredundantie kan niet worden uitgeschakeld in een regio.
ACR Tasks biedt nog geen ondersteuning voor beschikbaarheidszones.
Over zoneredundantie
Gebruik Azure-beschikbaarheidszones om een tolerant en hoog beschikbaarheid Azure-containerregister te maken binnen een Azure-regio. Organisaties kunnen bijvoorbeeld een zone-redundant Azure-containerregister instellen met andere ondersteunde Azure-resources om te voldoen aan gegevenslocatie of andere nalevingsvereisten, terwijl ze hoge beschikbaarheid binnen een regio bieden.
Azure Container Registry biedt ook ondersteuning voor geo-replicatie, waarmee de service wordt gerepliceerd in meerdere regio's, waardoor redundantie en lokaliteit kunnen worden gebruikt voor het berekenen van resources op andere locaties. De combinatie van beschikbaarheidszones voor redundantie binnen een regio en geo-replicatie in meerdere regio's verbetert zowel de betrouwbaarheid als de prestaties van een register.
Beschikbaarheidszones zijn unieke, fysieke locaties binnen een Azure-regio. Tolerantie wordt gegarandeerd door aanwezigheid van minimaal drie afzonderlijke zones in alle actieve regio's. Elke zone heeft een of meer datacenters die zijn uitgerust met onafhankelijke voeding, koeling en netwerken. Wanneer deze is geconfigureerd voor zoneredundantie, wordt een register (of een registerreplica in een andere regio) gerepliceerd in alle beschikbaarheidszones in de regio, zodat deze beschikbaar blijft als er datacenterfouten optreden.
Een zone-redundant register maken - CLI
Als u de Azure CLI wilt gebruiken om zoneredundantie in te schakelen, hebt u Azure CLI versie 2.17.0 of hoger of Azure Cloud Shell nodig. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Een brongroep maken
Voer indien nodig de opdracht az group create uit om een resourcegroep voor het register te maken.
az group create --name <resource-group-name> --location <location>
Register met zone-functionaliteit maken
Voer de opdracht az acr create uit om een zone-redundant register te maken in de Premium-servicelaag. Kies een regio die beschikbaarheidszones voor Azure Container Registry ondersteunt. In het volgende voorbeeld is zoneredundantie ingeschakeld in de regio Eastus . Zie de Help voor opdrachten az acr create
voor meer registeropties.
az acr create \
--resource-group <resource-group-name> \
--name <container-registry-name> \
--location eastus \
--zone-redundancy enabled \
--sku Premium
Noteer in de uitvoer van de opdracht de zoneRedundancy
eigenschap voor het register. Wanneer dit is ingeschakeld, is het register zone-redundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Zone-redundante replicatie maken
Voer de opdracht az acr replication create uit om een zoneredundante registerreplica te maken in een regio die ondersteuning biedt voor beschikbaarheidszones voor Azure Container Registry, zoals westus2.
az acr replication create \
--location westus2 \
--resource-group <resource-group-name> \
--registry <container-registry-name> \
--zone-redundancy enabled
Noteer in de uitvoer van de opdracht de zoneRedundancy
eigenschap voor de replica. Wanneer deze optie is ingeschakeld, is de replica zone-redundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Een zone-redundant register maken - portal
Meld u aan bij het Azure-portaal.
Selecteer Een resource maken>Containers>Container Registry.
Selecteer of maak een resourcegroep op het tabblad Basisinformatie en voer een unieke registernaam in.
Selecteer in Locatie een regio die zoneredundantie ondersteunt voor Azure Container Registry, zoals VS - oost.
Selecteer Premium in SKU.
Selecteer Ingeschakeld in beschikbaarheidszones.
Configureer desgewenst meer registerinstellingen en selecteer Vervolgens Beoordelen en maken.
Selecteer Maken om het registerexemplaren te implementeren.
Een zone-redundante replicatie maken:
Navigeer naar het containerregister van de Premium-laag en selecteer Replicaties.
Selecteer op de kaart die wordt weergegeven een groene zeshoek in een regio die zoneredundantie ondersteunt voor Azure Container Registry, zoals VS - west 2. Of selecteer + Toevoegen.
Bevestig de locatie in het venster Replicatie maken. Selecteer In beschikbaarheidszones de optie Ingeschakeld en selecteer vervolgens Maken.
Een zone-redundant register maken - sjabloon
Een brongroep maken
Voer zo nodig de opdracht az group create uit om een resourcegroep te maken voor het register in een regio die ondersteuning biedt voor beschikbaarheidszones voor Azure Container Registry, zoals eastus. Deze regio wordt door de sjabloon gebruikt om de registerlocatie in te stellen.
az group create --name <resource-group-name> --location eastus
De sjabloon implementeren
U kunt de volgende Resource Manager-sjabloon gebruiken om een zone-redundant, geografisch gerepliceerd register te maken. De sjabloon maakt standaard zoneredundantie in het register en een regionale replica mogelijk.
Kopieer de volgende inhoud naar een nieuw bestand en sla het op met behulp van een bestandsnaam, zoals registryZone.json
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"acrName": {
"type": "string",
"defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
"minLength": 5,
"maxLength": 50,
"metadata": {
"description": "Globally unique name of your Azure Container Registry"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for registry home replica."
}
},
"acrSku": {
"type": "string",
"defaultValue": "Premium",
"allowedValues": [
"Premium"
],
"metadata": {
"description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
}
},
"acrZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
}
},
"acrReplicaLocation": {
"type": "string",
"metadata": {
"description": "Short name for registry replica location."
}
},
"acrReplicaZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
}
}
},
"resources": [
{
"comments": "Container registry for storing docker images",
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2020-11-01",
"name": "[parameters('acrName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('acrSku')]",
"tier": "[parameters('acrSku')]"
},
"tags": {
"displayName": "Container Registry",
"container.registry": "[parameters('acrName')]"
},
"properties": {
"adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
"zoneRedundancy": "[parameters('acrZoneRedundancy')]"
}
},
{
"type": "Microsoft.ContainerRegistry/registries/replications",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
"location": "[parameters('acrReplicaLocation')]",
"dependsOn": [
"[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
],
"properties": {
"zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
}
}
],
"outputs": {
"acrLoginServer": {
"value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
"type": "string"
}
}
}
Voer de volgende opdracht az deployment group create uit om het register te maken met behulp van het voorgaande sjabloonbestand. Geef, indien aangegeven, het volgende op:
- een unieke registernaam of implementeer de sjabloon zonder parameters en maakt een unieke naam voor u
- een locatie voor de replica die beschikbaarheidszones ondersteunt, zoals westus2
az deployment group create \
--resource-group <resource-group-name> \
--template-file registryZone.json \
--parameters acrName=<registry-name> acrReplicaLocation=<replica-location>
Noteer in de uitvoer van de opdracht de zoneRedundancy
eigenschap voor het register en de replica. Wanneer deze optie is ingeschakeld, is elke resource zone-redundant:
{
[...]
"zoneRedundancy": "Enabled",
}
Volgende stappen
- Meer informatie over regio's die beschikbaarheidszones ondersteunen.
- Meer informatie over bouwen voor betrouwbaarheid in Azure.