Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Företag som vill ha en lokal närvaro eller en snabb säkerhetskopiering väljer att köra tjänster från flera Azure-regioner. Ett bra tips är att placera ett containerregister i varje region där avbildningar körs, så att åtgärder utförs närmare nätverket och du får snabba och tillförlitliga överföringar på avbildningsnivå. Med geo-replikering kan ett Azure-containerregister fungera som ett enda register som betjänar flera regioner med flera primära regionala register.
Ett georeplikerat register ger följande fördelar:
Anteckning
Användaren kräver följande behörigheter (på registernivå) för att skapa/ta bort replikering:
Behörighet | beskrivning |
---|---|
Microsoft.ContainerRegistry/registries/write | Skapa en replikering |
Microsoft.ContainerRegistry/registries/replications/write | Ta bort en replikering |
Contoso kör en webbplats med offentlig närvaro i USA, Kanada och Europa. 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. Webbappen, som distribueras som en Docker-avbildning, använder samma kod och avbildning i alla regioner. Innehåll som är lokalt för den regionen hämtas från en databas som etableras unikt i varje region. Varje regional distribution har en unik konfiguration för resurser som den lokala databasen.
Utvecklingsteamet finns i Seattle, WA, och använder datacentret för USA, västra.
Push-överföra till flera register
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. För att betjäna dessa olika regioner push-överförde utvecklingsteamet till två olika register.
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 register
Typiska utmaningar med flera register är:
Geo-replikeringsfunktionen i Azure Container Registry har följande fördelar:
contoso.azurecr.io
contoso.azurecr.io/public/products/web:1.2
Azure Container Registry har också stöd för tillgänglighetszoner för att skapa ett motståndskraftigt och högtillgängligt Azure-containerregister i en Azure-region. Kombinationen av tillgänglighetszoner för redundans i en region och geo-replikering i flera regioner förbättrar både tillförlitligheten och prestandan för ett register.
Konfiguration av geo-replikering är så enkelt som att klicka på regioner på en karta. Du kan också hantera geo-replikering med hjälp av verktyg som az acr-replikeringskommandon i Azure CLI eller distribuera ett register som är aktiverat för geo-replikering med en Azure Resource Manager-mall.
Geo-replikering är en funktion i Premium-register. Om ditt register ännu inte är Premium kan du ändra från Basic och Standard till Premium i Azure-portalen:
Om du vill konfigurera geo-replikering för ditt Premium-register loggar du in på Azure Portal.
Gå till ditt Azure Container Registry och välj Replikeringar:
En karta visas med alla aktuella Azure-regioner:
Om du vill konfigurera en replik markerar du en grön sexhörning och väljer Skapa:
Om du vill konfigurera ytterligare repliker markerar du de gröna sexhörningarna för andra regioner och klickar på Skapa.
ACR börjar synkronisera avbildningar mellan de konfigurerade replikerna. När det är klart visar portalen Klar. Replikstatus i portalen uppdateras inte automatiskt. Använd uppdateringsknappen om du vill visa uppdaterad status.
När du har konfigurerat en replik för registret kan du ta bort den när som helst om den inte längre behövs. Ta bort en replik med hjälp av Azure Portal eller andra verktyg, till exempel kommandot az acr replication delete i Azure CLI.
Så här tar du bort en replik i Azure Portal:
Så här använder du Azure CLI för att ta bort en replik av myregistry i regionen USA, östra:
az acr replication delete --name eastus --registry myregistry
Geo-replikering är en funktion i Premium-tjänstnivån i Azure Container Registry. När du replikerar ett register till din önskade regioner debiteras du avgifter för Premium-register för varje 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. Contoso betalade då fyra gånger Premium per månad, utan ytterligare konfiguration eller hantering. Varje region hämtar nu sina bilder lokalt, vilket förbättrar prestanda och tillförlitlighet utan avgifter för utgående nätverk från USA, västra till Kanada och USA, östra.
En Docker-klient som push-överför en avbildning till ett geo-replikerat register kanske inte skickar alla avbildningslager och dess manifest till en enda replikerad region. Detta kan inträffa eftersom Azure Traffic Manager dirigerar registerbegäranden till det nätverksnära replikerade registret. Om registret har två närliggande replikeringsregioner kan avbildningsskikt och manifestet distribueras till de två platserna, och push-åtgärden misslyckas när manifestet verifieras. Det här problemet uppstår på grund av hur registrets DNS-namn löses på vissa Linux-värdar. Det här problemet uppstår inte i Windows, som tillhandahåller en DNS-cache på klientsidan.
Om det här problemet uppstår är en lösning att tillämpa en DNS-cache på klientsidan, till exempel dnsmasq
på Linux-värden. Det säkerställer att registrets namn matchas på ett konsekvent sätt. Om du använder en virtuell Linux-dator i Azure för att skicka till ett register kan du läsa alternativen i ALTERNATIV för DNS-namnmatchning för virtuella Linux-datorer i Azure.
Om du vill optimera DNS-matchningen till närmaste replik vid push-överföring av 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.
Om du vill felsöka åtgärder med ett geo-replikerat register kanske du tillfälligt vill inaktivera Traffic Manager-routning till en eller flera repliker. Från och med Azure CLI version 2.8 kan du konfigurera ett --region-endpoint-enabled
alternativ (förhandsversion) när du skapar eller uppdaterar en replikerad region. När du anger alternativet för replikering --region-endpoint-enabled
till false
dirigerar Traffic Manager inte längre docker-push- eller pull-begäranden till den regionen. Som standard är routning till alla repliker aktiverad och datasynkronisering för alla repliker sker oavsett om routning är aktiverad eller inaktiverad.
Om du vill inaktivera routning till en befintlig replikering kör du först az acr-replikeringslistan för att lista replikeringen i registret. Kör sedan az acr replication update och ange --region-endpoint-enabled false
för en specifik replikering. Om du till exempel vill konfigurera inställningen för westus-replikeringen i myregistry:
# Show names of existing replications
az acr replication list --registry --output table
# Disable routing to replication
az acr replication update --name westus \
--registry myregistry --resource-group MyResourceGroup \
--region-endpoint-enabled false
Så här återställer du routningen till en replikering:
az acr replication update --name westus \
--registry myregistry --resource-group MyResourceGroup \
--region-endpoint-enabled true
När du skapar en ny registerreplikering för det primära registret som är aktiverat med privat slutpunkt rekommenderar vi att du verifierar att användaridentiteten har giltiga behörigheter för att skapa privata slutpunkter. Annars kommer åtgärden fastna i etableringstillståndet när replikeringen skapas.
Följ stegen nedan om du fastnade i etableringstillståndet när du skapade registerreplikeringen:
Microsoft.Network/privateEndpoints/privateLinkServiceProxies/write
för användaridentiteten.Den här behörighetskontrollen gäller endast för register med privat slutpunkt aktiverat.
Läs självstudieserien i tre delar, Geo-replikering i 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.
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Konfigurera Azure Container Registry för distributioner av containerappar - Training
Lär dig hur du skapar och konfigurerar ett Azure Container Registry, processen med att skicka containeravbildningar till Azure Container Registry och utforska olika autentiseringsmetoder och säkerhetsfunktioner för Azure Container Registry.
Certifiering
Microsoft-certifierad: Azure-databasadministratör associate - Certifications
Administrera en SQL Server-databasinfrastruktur för molndatabaser, lokala databaser och hybridrelationsdatabaser med hjälp av microsoft PaaS-relationsdatabaserbjudanden.
Dokumentation
Zonredundant register i Azure Container Registry - Azure Container Registry
Lär dig mer om att aktivera zonredundans i Azure Container Registry, en funktion på Premium-tjänstnivån, för hög tillgänglighet.
Metodtips för att använda Azure Container Registry - Azure Container Registry
Lär dig att använda Azure Container Registry på ett effektivt sätt genom att följa dessa bästa metoder.
Registertjänstnivåer och funktioner - Azure Container Registry
Lär dig mer om funktioner och gränser (kvoter) på tjänstnivåerna Basic, Standard och Premium (SKU:er) i Azure Container Registry.