Geo-replikering i Azure Container RegistryGeo-replication in Azure Container Registry

Företag som vill ha en lokal närvaro, eller en direkt säkerhetskopia, väljer att köra tjänster från flera Azure-regioner.Companies that want a local presence, or a hot backup, choose to run services from multiple Azure regions. Som bästa praxis kan ett containerregister placeras i varje region där avbildningarna körs för att medge nätverksnära åtgärder med snabba och tillförlitliga avbildningslageröverföringar.As a best practice, placing a container registry in each region where images are run allows network-close operations, enabling fast, reliable image layer transfers. Geo-replikering gör att ett Azure-containerregister kan fungera som ett enskilt register som betjänar flera regioner med regionala register med flera original.Geo-replication enables an Azure container registry to function as a single registry, serving multiple regions with multi-master regional registries.

Ett geo-replikerat register ger följande fördelar:A geo-replicated registry provides the following benefits:

  • Namn på enskilda register/avbildningar/taggar kan användas i flera regionerSingle registry/image/tag names can be used across multiple regions
  • Nätverksnära registeråtkomst från regionala distributionerNetwork-close registry access from regional deployments
  • Inga ytterligare utgående avgifter eftersom avbildningar hämtas från ett lokalt replikerat register i samma region som din containervärdNo additional egress fees, as images are pulled from a local, replicated registry in the same region as your container host
  • Enskild hantering av ett register i flera regionerSingle management of a registry across multiple regions

Anteckning

Om du behöver upprätthålla kopior av containeravbildningar i mer än ett Azure-containerregister har Azure Container Registry även stöd för avbildningsimport.If you need to maintain copies of container images in more than one Azure container registry, Azure Container Registry also supports image import. Till exempel kan du i ett DevOps-arbetsflöde importera en avbildning från ett utvecklingsregister till ett produktionsregister utan att behöva använda Docker-kommandon.For example, in a DevOps workflow, you can import an image from a development registry to a production registry, without needing to use Docker commands.

Exempel på användningsfallExample use case

Contoso kör en webbplats med offentlig närvaro i USA, Kanada och Europa.Contoso runs a public presence website located across the US, Canada, and Europe. För att betjäna dessa marknader med lokalt och nätverksnära innehåll kör Contoso Azure Kubernetes Service-kluster (AKS) i USA, västra; USA, östra; Kanada, centrala samt Europa, västra.To serve these markets with local and network-close content, Contoso runs Azure Kubernetes Service (AKS) clusters in West US, East US, Canada Central, and West Europe. Webbappen, som distribueras som en Docker-avbildning, använder samma kod och avbildning i alla regioner.The website application, deployed as a Docker image, utilizes the same code and image across all regions. Innehåll, som är lokalt för den regionen, hämtas från en databas som etableras unikt i varje region.Content, local to that region, is retrieved from a database, which is provisioned uniquely in each region. Varje regional distribution har en unik konfiguration för resurser som den lokala databasen.Each regional deployment has its unique configuration for resources like the local database.

Utvecklingsteamet finns i Seattle, WA, och använder datacentret för USA, västra.The development team is located in Seattle WA, utilizing the West US data center.

Push-överföra till flera registerPushing to multiple registries
Push-överföra till flera registerPushing to multiple registries

Innan Contoso började använda de geo-replikerade funktionerna hade de ett USA-baserat register i USA, västra med ytterligare ett register i Europa, västra.Prior to using the geo-replication features, Contoso had a US-based registry in West US, with an additional registry in West Europe. För att betjäna dessa olika regioner push-överförde utvecklingsteamet till två olika register.To serve these different regions, the development team pushed images to two different registries.

docker push contoso.azurecr.io/public/products/web:1.2
docker push contosowesteu.azurecr.io/public/products/web:1.2

Hämta från flera registerPulling from multiple registries
Hämta från flera registerPulling from multiple registries

Typiska utmaningar med flera register är:Typical challenges of multiple registries include:

  • Klustren för USA, västra; USA, östra och Kanada, centrala hämtar alla från registret USA, västra och ådrar sig utgående avgifter när dessa fjärrcontainervärdar hämtar avbildningar från datacenter för USA, västra.The East US, West US, and Canada Central clusters all pull from the West US registry, incurring egress fees as each of these remote container hosts pull images from West US data centers.
  • Utvecklingsteamet måste push-överföra avbildningar till registren för USA, västra och Europa, västra.The development team must push images to West US and West Europe registries.
  • Utvecklingsteamet måste konfigurera och underhålla varje regional distribution med avbildningsnamn som refererar till det lokala registret.The development team must configure and maintain each regional deployment with image names referencing the local registry.
  • Registeråtkomst måste konfigureras för varje region.Registry access must be configured for each region.

Fördelar med geo-replikeringBenefits of geo-replication

Hämta från ett geo-replikerat register

Användning av funktionen för geo-replikering i Azure Container Registry ger följande fördelar:Using the geo-replication feature of Azure Container Registry, these benefits are realized:

  • Hantera ett enskilt register i alla regioner: contoso.azurecr.ioManage a single registry across all regions: contoso.azurecr.io
  • Hantera en enskild konfiguration av avbildningsdistributioner eftersom alla regioner använder samma avbildnings-URL: contoso.azurecr.io/public/products/web:1.2Manage a single configuration of image deployments as all regions used the same image URL: contoso.azurecr.io/public/products/web:1.2
  • Push-överför till ett enda register medan ACR hanterar geo-replikeringen.Push to a single registry, while ACR manages the geo-replication. Du kan konfigurera regionala webhookar för att meddela dig om händelser i vissa repliker.You can configure regional webhooks to notify you of events in specific replicas.

Konfigurera geo-replikeringConfigure geo-replication

Konfiguration av geo-replikering är så enkelt som att klicka på regioner på en karta.Configuring geo-replication is as easy as clicking regions on a map. Du kan också hantera geo-replikering med hjälp av verktyg som AZ ACR Replication -kommandon i Azure CLI, eller distribuera ett register som är aktiverat för geo-replikering med en Azure Resource Manager-mall.You can also manage geo-replication using tools including the az acr replication commands in the Azure CLI, or deploy a registry enabled for geo-replication with an Azure Resource Manager template.

Geo-replikering är en funktion som endast finns i Premium-register.Geo-replication is a feature of Premium registries only. Om ditt register ännu inte är Premium kan du ändra från Basic och Standard till Premium i Azure-portalen:If your registry isn't yet Premium, you can change from Basic and Standard to Premium in the Azure portal:

Växla SKU:er i Azure-portalen

För att konfigurera geo-replikering för Premium-registret loggar du in på Azure-portalen på https://portal.azure.com.To configure geo-replication for your Premium registry, log in to the Azure portal at https://portal.azure.com.

Gå till ditt Azure Container Registry och välj Replikeringar:Navigate to your Azure Container Registry, and select Replications:

Replikeringar i användargränssnittet i containerregister i Azure-portalen

En karta visas med alla aktuella Azure-regioner:A map is displayed showing all current Azure Regions:

Regionskarta i Azure Portal

  • Blå sexhörningar representerar aktuella replikerBlue hexagons represent current replicas
  • Gröna sexhörningar representerar möjliga replikregionerGreen hexagons represent possible replica regions
  • Grå sexhörningar representerar Azure-regioner som ännu inte är tillgängliga för replikeringGray hexagons represent Azure regions not yet available for replication

Om du vill konfigurera en replik markerar du en grön sexhörning och väljer Skapa:To configure a replica, select a green hexagon, then select Create:

Skapa replikerings-UI i Azure-portalen

Om du vill konfigurera ytterligare repliker markerar du de gröna sexhörningarna för andra regioner och klickar på Skapa.To configure additional replicas, select the green hexagons for other regions, then click Create.

ACR börjar synkronisera avbildningar mellan de konfigurerade replikerna.ACR begins syncing images across the configured replicas. När det är klart visar portalen Klar.Once complete, the portal reflects Ready. Replikstatus i portalen uppdateras inte automatiskt.The replica status in the portal doesn't automatically update. Använd uppdateringsknappen om du vill visa uppdaterad status.Use the refresh button to see the updated status.

Att tänka på när du använder ett geo-replikerat registerConsiderations for using a geo-replicated registry

  • Varje region i ett geo-replikerat register är oberoende när den har kon figurer ATS.Each region in a geo-replicated registry is independent once set up. Azure Container Registry service avtal gäller för varje geo-replikerad region.Azure Container Registry SLAs apply to each geo-replicated region.
  • När du push-överför eller hämtar bilder från ett geo-replikerat register skickar Azure Traffic Manager i bakgrunden begäran till registret i den region som är närmast dig.When you push or pull images from a geo-replicated registry, Azure Traffic Manager in the background sends the request to the registry located in the region closest to you.
  • När du har push-överfört en avbildning eller tagga till den närmaste regionen tar det lite tid för Azure Container Registry att replikera manifest och lager till de återstående regioner som du har valt.After you push an image or tag update to the closest region, it takes some time for Azure Container Registry to replicate the manifests and layers to the remaining regions you opted into. Större bilder tar längre tid att replikera än de mindre.Larger images take longer to replicate than smaller ones. Bilder och taggar synkroniseras i de replikerade regionerna med en eventuell konsekvens modell.Images and tags are synchronized across the replication regions with an eventual consistency model.
  • Om du vill hantera arbets flöden som är beroende av push-uppdateringar till en geo-replikerad, rekommenderar vi att du konfigurerar Webhooks så att de svarar på push-händelserna.To manage workflows that depend on push updates to a geo-replicated , we recommend that you configure webhooks to respond to the push events. Du kan ställa in regionala webhookar i ett geo-replikerat register för att spåra push-händelser när de är klara i de geo-replikerade regionerna.You can set up regional webhooks within a geo-replicated registry to track push events as they complete across the geo-replicated regions.

Ta bort en replikDelete a replica

När du har konfigurerat en replik för registret kan du när som helst ta bort den om den inte längre behövs.After you've configured a replica for your registry, you can delete it at any time if it's no longer needed. Ta bort en replik med hjälp av Azure Portal eller andra verktyg som kommandot AZ ACR Replication Delete i Azure CLI.Delete a replica using the Azure portal or other tools such as the az acr replication delete command in the Azure CLI.

Så här tar du bort en replik i Azure Portal:To delete a replica in the Azure portal:

  1. Navigera till Azure Container Registry och välj replikeringar.Navigate to your Azure Container Registry, and select Replications.
  2. Välj namnet på en replik och välj ta bort.Select the name of a replica, and select Delete. Bekräfta att du vill ta bort repliken.Confirm that you want to delete the replica.

Anteckning

Du kan inte ta bort register repliken i hem regionen för registret, det vill säga den plats där du skapade registret.You can't delete the registry replica in the home region of the registry, that is, the location where you created the registry. Du kan bara ta bort hem repliken genom att ta bort själva registret.You can only delete the home replica by deleting the registry itself.

Prissättning för Geo-replikeringGeo-replication pricing

Geo-replikering är en funktion i Premium SKU för Azure Container Registry.Geo-replication is a feature of the Premium SKU of Azure Container Registry. När du replikerar ett register till din önskade regioner debiteras du avgifter för Premium-register för varje region.When you replicate a registry to your desired regions, you incur Premium registry fees for each region.

I föregående exempel konsoliderade Contoso två register till ett och lade till repliker i USA, östra; Kanada, centrala samt Europa, västra.In the preceding example, Contoso consolidated two registries down to one, adding replicas to East US, Canada Central, and West Europe. Contoso betalade då fyra gånger Premium per månad, utan ytterligare konfiguration eller hantering.Contoso would pay four times Premium per month, with no additional configuration or management. Varje region hämtar nu sina avbildningar lokalt, vilket förbättrar prestanda och tillförlitlighet utan utgående nätverksavgifter från USA, västra till Kanada och USA, östra.Each region now pulls their images locally, improving performance, reliability without network egress fees from West US to Canada and East US.

Felsöka push-åtgärder med geo-replikerade registerTroubleshoot push operations with geo-replicated registries

En Docker-klient som skickar en avbildning till ett geo-replikerat register får inte skicka alla avbildnings lager och dess manifest till en enda replikerad region.A Docker client that pushes an image to a geo-replicated registry may not push all image layers and its manifest to a single replicated region. Detta kan inträffa eftersom Azure Traffic Manager dirigerar register begär anden till det nätverks närmast replikerade registret.This may occur because Azure Traffic Manager routes registry requests to the network-closest replicated registry. Om registret har två närliggande replikerade regioner kan bild lager och manifestet distribueras till de två platserna och push-åtgärden Miss lyckas när manifestet verifieras.If the registry has two nearby replication regions, image layers and the manifest could be distributed to the two sites, and the push operation fails when the manifest is validated. Det här problemet beror på hur DNS-namnet på registret matchas på vissa Linux-värdar.This problem occurs because of the way the DNS name of the registry is resolved on some Linux hosts. Det här problemet uppstår inte i Windows, som tillhandahåller en DNS-cache på klient sidan.This issue doesn't occur on Windows, which provides a client-side DNS cache.

Om det här problemet uppstår är en lösning att tillämpa en DNS-cache på klient sidan, till exempel dnsmasq på Linux-värden.If this problem occurs, one solution is to apply a client-side DNS cache such as dnsmasq on the Linux host. Detta säkerställer att register namnet matchas konsekvent.This helps ensure that the registry's name is resolved consistently. Om du använder en virtuell Linux-dator i Azure för att skicka till ett register, se alternativ i alternativ för DNS-namnmatchning för virtuella Linux-datorer i Azure.If you're using a Linux VM in Azure to push to a registry, see options in DNS Name Resolution options for Linux virtual machines in Azure.

Om du vill optimera DNS-matchningen till den närmaste repliken när du skickar avbildningar konfigurerar du ett geo-replikerat register i samma Azure-regioner som källan till push-åtgärderna eller den närmaste regionen när du arbetar utanför Azure.To optimize DNS resolution to the closest replica when pushing images, configure a geo-replicated registry in the same Azure regions as the source of the push operations, or the closest region when working outside of Azure.

Nästa stegNext steps

Läs självstudieserien i tre delar, Geo-replikering i Azure Container Registry.Check out the three-part tutorial series, Geo-replication in Azure Container Registry. Gå igenom att skapa ett geo-replikerat register samt skapa en container och sedan distribuera den med ett enda docker push-kommando till flera regionala Web Apps for Containers-instanser.Walk through creating a geo-replicated registry, building a container, and then deploying it with a single docker push command to multiple regional Web Apps for Containers instances.