Geo-replicar imágenes de contenedores#
Confiabilidad · Container Registry · Rule · 2020_12 · Importante
Sinopsis#
Utilice registros de contenedores replicados geográficamente para complementar las implementaciones de contenedores en varias regiones.
Descripción#
Un registro de contenedor se almacena y mantiene de forma predeterminada en una sola región. Opcionalmente, se puede habilitar la replicación geográfica en una o más regiones adicionales.
Los registros de contenedores de replicación geográfica brindan los siguientes beneficios:
- Los nombres únicos de registros/imágenes/etiquetas se pueden usar en múltiples regiones.
- El acceso al registro de cierre de red dentro de la región reduce la latencia.
- Como las imágenes se extraen de un registro replicado local, cada extracción no genera costos de salida adicionales.
Recomendación#
Considere usar un registro de contenedor replicado geográficamente para implementaciones en varias regiones.
Ejemplos#
Configurar con plantilla de ARM#
Para habilitar la replicación geográfica para registros de contenedores que pasan esta regla:
- Establezca
sku.name
aPremium
(necesario para la replicación geográfica). - Agrega el recurso secundario
replications
conlocation
establecida en la región para replicar.
Por ejemplo:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "12610175857982700190"
}
},
"parameters": {
"acrName": {
"type": "string",
"defaultValue": "[format('acr{0}', uniqueString(resourceGroup().id))]",
"maxLength": 50,
"minLength": 5,
"metadata": {
"description": "Globally unique name of your Azure Container Registry"
}
},
"acrAdminUserEnabled": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Enable admin user that has push / pull permission to the 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 requires Premium SKU."
}
},
"acrReplicaLocation": {
"type": "string",
"metadata": {
"description": "Short name for registry replica location."
}
}
},
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2019-12-01-preview",
"name": "[parameters('acrName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('acrSku')]"
},
"tags": {
"displayName": "Container Registry",
"container.registry": "[parameters('acrName')]"
},
"properties": {
"adminUserEnabled": "[parameters('acrAdminUserEnabled')]"
}
},
{
"type": "Microsoft.ContainerRegistry/registries/replications",
"apiVersion": "2019-12-01-preview",
"name": "[format('{0}/{1}', parameters('acrName'), parameters('acrReplicaLocation'))]",
"location": "[parameters('acrReplicaLocation')]",
"properties": {},
"dependsOn": [
"[resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))]"
]
}
],
"outputs": {
"acrLoginServer": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))).loginServer]"
}
}
}
Configurar con Bicep#
Para habilitar la replicación geográfica para registros de contenedores que pasan esta regla:
- Establezca
sku.name
aPremium
(necesario para la replicación geográfica). - Agrega el recurso secundario
replications
conlocation
establecida en la región para replicar.
Por ejemplo:
resource containerRegistry 'Microsoft.ContainerRegistry/registries@2019-12-01-preview' = {
name: acrName
location: location
sku: {
name: 'Premium'
}
tags: {
displayName: 'Container Registry'
'container.registry': acrName
}
properties: {
adminUserEnabled: acrAdminUserEnabled
}
}
resource containerRegistryReplica 'Microsoft.ContainerRegistry/registries/replications@2019-12-01-preview' = {
parent: containerRegistry
name: '${acrReplicaLocation}'
location: acrReplicaLocation
properties: {
}
}
Notas#
Esta regla se aplica cuando se analizan los recursos implementados en Azure.
Elaces#
- Resistencia y dependencias
- Implementación de la replicación geográfica en varias regiones
- Replicación geográfica en Azure Container Registry
- Tutorial: Preparar un registro de contenedor de Azure con replicación geográfica