Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver tillförlitlighetsstöd i Azure Container Registry. Den beskriver hur du planerar motståndskraftiga distributioner med hjälp av tillgänglighetszoner. Den beskriver också hur du kan förbättra återhämtning mellan regioner med hjälp av geo-replikering.
Container Registry är en hanterad containerregistertjänst som används för att lagra och hantera dina privata Docker-containeravbildningar och relaterade artefakter för dina containerdistributioner. Mer information finns i Introduktion till containerregistret.
När du använder Azure är tillförlitlighet ett delat ansvar. Microsoft tillhandahåller en rad funktioner för att stödja återhämtning och återställning. Du ansvarar för att förstå hur dessa funktioner fungerar inom alla tjänster som du använder och välja de funktioner du behöver för att uppfylla dina affärsmål och drifttidsmål.
Rekommendationer för produktionsdistribution
För produktionsarbetsbelastningar rekommenderar vi att du vidtar följande åtgärder:
Använd Premium-nivån för Container Registry, som tillhandahåller de mest omfattande tillförlitlighetsfunktionerna. Premium-nivån ger också högre prestandagränser, förbättrade säkerhetsfunktioner och avancerade funktioner som är viktiga för arbetsbelastningar för produktionscontainer. Mer information om tjänstnivåer och funktioner finns i Tjänstnivåer för Container Registry.
Etablera containerregistret i en region som stöder tillgänglighetszoner.
För scenarier med flera regioner konfigurerar du geo-replikering för att distribuera registret över flera regioner baserat på dina specifika geografiska krav och efterlevnadskrav.
Översikt över tillförlitlighetsarkitektur
Container Registry bygger på distribuerad Azure-infrastruktur för att ge hög tillgänglighet och datahållbarhet. Tjänsten består av flera viktiga komponenter som fungerar tillsammans för att säkerställa tillförlitlighet. Följande diagram illustrerar kärntjänstarkitekturen.
Kontrollplanet är en centraliserad hanteringskomponent i hemregionen för registerkonfiguration, autentiseringskonfiguration och replikeringsprinciper.
Dataplanet är en distribuerad tjänst som hanterar push- och pull-åtgärder för containeravbildningar mellan regioner och tillgänglighetszoner.
Lagringsskiktet är en innehållsadresserbar Azure Storage-lösning som bevarar containeravbildningar och artefakter. Den innehåller automatisk deduplicering, kryptering i vila och inbyggd replikering.
Microsoft ansvarar för att hantera den underliggande containerregisterinfrastrukturen, som omfattar följande typer av underhåll:
Underhåll av kontrollplan för registerhantering
Underhåll av dataplan för containeravbildningsåtgärder i regioner och tillgänglighetszoner
Som kund ansvarar du för följande åtgärder:
Återhämtning på programnivå: Implementera lämplig omprövningslogik och redundanshantering i dina containerprogram och orkestreringsplattformar.
Konfiguration av zonåterhämtning: Kontrollera att containerregistret har distribuerats i en region som stöder tillgänglighetszoner.
Konfiguration av geo-replikering: Välj lämpliga regioner för geo-replikering baserat på dina geografiska distributions-, efterlevnads- och prestandakrav.
Container Registry stöder också uppgifter som kan hjälpa dig att automatisera dina containerbyggen och underhållsåtgärder. Aktiviteter körs på Microsoft-hanterad beräkningsinfrastruktur och stöder manuella, händelsebaserade eller schemalagda utlösare. Mer information finns i Automatisera containeravbildningsversioner och -underhåll med hjälp av Container Registry-uppgifter.
Note
Container Registry stöder anslutna register, som är lokala repliker eller fjärrrepliker som synkroniseras med ditt molnbaserade containerregister. När du använder anslutna register ansvarar du för att konfigurera dem så att de uppfyller dina tillförlitlighetskrav. Anslutna register ligger utanför omfånget för den här artikeln.
Tillfälliga fel
Tillfälliga fel är kortvariga, intermittenta fel i komponenter. De förekommer ofta i en distribuerad miljö som molnet, och de är en normal del av åtgärderna. Tillfälliga fel korrigerar sig själva efter en kort tidsperiod. Det är viktigt att dina program kan hantera tillfälliga fel, vanligtvis genom att försöka igen.
Alla molnbaserade program bör följa vägledningen för tillfälliga felhantering i Azure när de kommunicerar med molnbaserade API:er, databaser och andra komponenter. Mer information finns i Rekommendationer för hantering av tillfälliga fel.
Container Registry hanterar tillfälliga fel internt via flera mekanismer. Tjänsten implementerar automatisk omprövningslogik för registeråtgärder och underhåller anslutningspooler för effektiv resursanvändning. Container Registry-åtgärder är utformade för att vara idempotenta, vilket möjliggör säkra återförsök av push- och pull-åtgärder. Uppgifter hanterar automatiskt tillfälliga fel när de utför många typer av åtgärder.
För klientprogram som använder Container Registry implementerar du lämpliga återförsöksprinciper med exponentiell backoff när du utför registeråtgärder. Använd den officiella Docker-klienten eller SDK:er för Container Registry, som innehåller inbyggda mekanismer för återförsök för vanliga tillfälliga fel.
Stöd för tillgänglig zon
Tillgänglighetszoner är fysiskt separata grupper av datacenter i varje Azure-region. När en zon misslyckas kan tjänsterna redundansväxla till en av de återstående zonerna.
Zonredundans skyddar ditt containerregister mot fel i en zon genom att distribuera registerdata och åtgärder över flera tillgänglighetszoner i regionen. Pull- och push-åtgärder för containeravbildningar fortsätter att fungera under zonavbrott, med automatisk redundans till felfria zoner.
Zonredundans aktiveras som standard för alla register i regioner som stöder tillgänglighetszoner, vilket gör dina resurser mer motståndskraftiga automatiskt och utan extra kostnad. Den här förbättringen gäller för alla tjänstnivåer, inklusive Basic och Standard, och har tillämpats på både nya och befintliga register.
Viktigt!
Azure-portalen och andra verktyg kanske ännu inte återspeglar zonredundansuppdateringen korrekt.
Egenskapen zoneRedundancy i registrets konfiguration kan fortfarande visas som , men zonredundans är aktiv för alla register i regioner som falsestöds.
Vi uppdaterar aktivt portalen och API-ytorna för att återspegla det här standardbeteendet mer transparent. Alla tidigare aktiverade funktioner fortsätter att fungera som förväntat.
Stöd för regioner
Zonredundanta register kan distribueras till valfri region som stöder tillgänglighetszoner.
Om registret finns i en region som inte stöder tillgänglighetszoner måste du skapa ett nytt register i en region som stöder tillgänglighetszoner för att göra det zonredundant. Sedan måste du migrera dina containeravbildningar genom att skapa en överföringspipeline eller genom att importera containeravbildningar.
Considerations
Uppdrag: Container Registry-uppdrag stöder för närvarande inte tillgänglighetszoner. Zonredundans gäller för själva registertjänsten, men inte för uppgifter eller deras åtgärder.
Geo-replikering: Om ditt register använder geo-replikering blir alla repliker som skapas i regioner med tillgänglighetszoner zonredundanta automatiskt.
Cost
Zonredundans ingår i containerregister utan extra kostnad.
Konfigurera stöd för tillgänglighetszoner
Skapa ett zonredundant register. När du skapar ett register i en region som stöds är det automatiskt zonredundant. Mer information om hur du skapar ett nytt register finns i Skapa ett zonredundant register i Container Registry.
Aktivera zonredundans i ett befintligt register. Register som finns i regioner med tillgänglighetszoner är automatiskt zonredundanta. Du behöver inte aktivera zonredundans.
Inaktivera zonredundans. Zonredundans kan inte inaktiveras.
Normala åtgärder
Det här avsnittet beskriver vad du kan förvänta dig när Container Registry-resurser konfigureras för zonredundans och alla tillgänglighetszoner används.
Trafikroutning mellan zoner: Container Registry använder interna routningsfunktioner för att automatiskt distribuera dataplansåtgärder över alla tillgänglighetszoner i en region. Registertjänsten dirigerar automatiskt begäranden till felfria zoner utan att kräva externa lastbalanserare.
Datareplikering mellan zoner: Registerdata, inklusive containeravbildningar, manifest och metadata, replikeras asynkront över flera tillgänglighetszoner. Ändringar replikeras snabbt mellan zoner för att upprätthålla hög tillgänglighet och datahållbarhet. Replikeringen är asynkron, men den slutförs vanligtvis inom några minuter och alla zoner förblir tillgängliga för läs- och skrivåtgärder under replikeringen.
Avslappningsupplevelse
Det här avsnittet beskriver vad du kan förvänta dig när Container Registry-resurser konfigureras för zonredundans och det uppstår ett avbrott i tillgänglighetszonen.
När en zon blir otillgänglig hanterar Container Registry automatiskt redundansväxlingsprocessen med minimal påverkan på registeråtgärderna.
Identifiering och svar: Container Registry-plattformen identifierar automatiskt fel i en tillgänglighetszon och initierar ett svar. Tjänsten dirigerar automatiskt trafik till återstående felfria zoner. Ingen manuell åtgärd krävs för att initiera en zonredundans.
Meddelande: Azure Container Registry meddelar dig inte när en zon är nere. Du kan dock använda Azure Service Health för att förstå den övergripande hälsan för Azure Container Registry-tjänsten, inklusive eventuella zonfel.
Konfigurera aviseringar för att ta emot meddelanden om problem på zonnivå. Mer information finns i Skapa Service Health-aviseringar i Azure-portalen.
Du kan också övervaka registertillgänglighetsmått i Azure Monitor.
Aktiva begäranden: När en tillgänglighetszon inte är tillgänglig avslutas alla pågående begäranden som är anslutna till resurser i den felaktiga tillgänglighetszonen. De måste prövas igen.
Förväntad dataförlust: Alla senaste skrivningar som gjorts i den felaktiga zonen kanske inte replikeras till andra regioner, vilket innebär att de kan gå förlorade tills zonen återställs. Dataförlusten förväntas vanligtvis vara mindre än 15 minuter, men det är inte garanterat.
Förväntad stilleståndstid: En liten mängd stilleståndstid kan uppstå under automatisk redundans när trafiken omdirigeras till felfria zoner. Den här stilleståndstiden är vanligtvis några sekunder för de flesta registeråtgärder. Vi rekommenderar att du följer metodtipsen för tillfällig felhantering för att minimera effekten av zonredundans på dina program.
Omdistribution av trafik: Plattformen omdirigerar automatiskt trafik till felfria zoner utan att du behöver göra några konfigurationsändringar.
Zonåterställning
När den berörda tillgänglighetszonen återställs distribuerar Container Registry automatiskt åtgärder över alla tillgängliga zoner, inklusive den återställda zonen. Tjänsten balanserar om trafik och datadistribution utan att kräva manuella åtgärder eller orsaka avbrott i tjänsten.
Test för zonfel
Container Registry-plattformen hanterar trafikroutning, redundans och återställning efter fel för zonredundanta register. Eftersom den här funktionen är helt hanterad behöver du inte initiera eller verifiera felprocesser i tillgänglighetszonen.
Stöd för flera regioner
Container Registry tillhandahåller inbyggt stöd för flera regioner via geo-replikering när ditt register använder Premium-nivån. Geo-replikering skapar registerrepliker i flera valfria regioner. Den region som du distribuerar registerresursen kallas för hemregionen.
Geo-replikering möjliggör motståndskraft mot regionala avbrott. Om registret är geo-replikerat och ett regionalt avbrott inträffar fortsätter registerdata att vara tillgängliga från de andra regioner som du har valt. Om du inte aktiverar geo-replikering kan dina data bli otillgängliga under ett regionstopp.
Du kan också använda geo-replikering för att få lokal åtkomst till containeravbildningar i dessa regioner och för att minska svarstiden för globalt distribuerade program.
När du distribuerar Container Registry och aktiverar geo-replikering använder Microsoft Azure Traffic Manager för att distribuera dataplansbegäranden mellan dina repliker och för att automatiskt redundansväxla mellan repliker om en regional replik inte är tillgänglig.
Container Registry geo-replikering förlitar sig inte på azure-kopplade regioner. Du kan välja valfri kombination av Azure-regioner för replikering baserat på dina specifika geografiska krav, prestanda och efterlevnadskrav. Varje geo-replikerad registerfunktion fungerar som en registerslutpunkt. Den stöder de flesta registeråtgärder, inklusive avbildnings push-överföring, pull-åtgärder och hanteringsuppgifter.
Det här avsnittet sammanfattar information om geo-replikering när det gäller tillförlitlighet. Mer information finns i Geo-replikering i Container Registry.
Stöd för regioner
Geo-replikering är tillgängligt i alla Azure-regioner där Premium-nivån stöds. Du kan replikera till valfri kombination av regioner, oavsett om Azure parar ihop dessa regioner.
Requirements
Du måste använda Premium-nivån för att aktivera geo-replikering.
Considerations
Zonredundanta repliker: Alla repliker som du skapar i en region med tillgänglighetszoner är automatiskt zonredundanta.
Kontrollplan: Kontrollplanet körs i hemregionen. Om hemregionen inte är tillgänglig är kontrollplansåtgärderna inte tillgängliga och du kanske inte kan ändra registrets konfiguration.
Uppgifter: Container Registry-uppgifter stöder för närvarande inte geo-repliker. Uppgifter körs alltid i hemregionen. Om hemregionen inte är tillgänglig körs inte aktiviteten.
Cost
Varje geo-replikerad region faktureras separat enligt premiumnivåpriser för respektive region. Utgående avgifter gäller även för dataöverföring mellan regioner under inledande replikering och pågående synkronisering.
Konfigurera stöd för flera regioner
Geo-replikering kan konfigureras när registret skapas eller läggs till i befintliga Premium-register. Geo-replikering kan konfigureras via Azure-portalen, Azure CLI, Azure PowerShell eller Azure Resource Manager-mallar.
Skapa ett geo-replikerat register. Konfigurera geo-replikering efter att registret har skapats genom att ange extra regioner.
Aktivera geo-replikering i ett befintligt register. Om du vill aktivera geo-replikeringsfunktioner uppgraderar du befintliga basic- eller standardnivåregister till Premium-nivån. Du kan ändra replikeringsregionerna när som helst. Mer information finns i Konfigurera geo-replikering.
Inaktivera geo-replikering. Ta bort enskilda regionala repliker via Azure-portalen eller kommandoradsverktyg. Det går inte att ta bort registret för hemregionen.
Normala åtgärder
I det här avsnittet beskrivs vad du kan förvänta dig när ett register har konfigurerats för geo-replikering och alla regioner är i drift.
Trafikroutning mellan regioner: Container Registry fungerar i en aktiv-aktiv konfiguration där varje regional slutpunkt kan hantera alla dataplansåtgärder oberoende av varandra, inklusive läsningar och skrivningar. Dataplansåtgärder, till exempel push- och pull-åtgärder för containrar, dirigeras automatiskt med hjälp av Traffic Manager med prestandabaserade kriterier för att fastställa den optimala regionala slutpunkten för prestanda.
Datareplikering mellan regioner: Geo-replikering synkroniserar automatiskt containeravbildningar och artefakter i alla konfigurerade regioner med hjälp av asynkron replikering med slutlig konsekvens. Tjänsten använder innehållsadresserbar lagring för att effektivt replikera endast de unika bildskikten. Den här metoden minimerar bandbreddsanvändning och replikeringstid. Läs- och skrivåtgärder fungerar i alla geo-replikerade regioner. Ändringar som görs i en region replikeras till alla andra regioner.
Replikeringen slutförs vanligtvis inom några minuter efter ändringar. Det finns dock ingen garanti för tidsinställningen för datareplikering. Stora containeravbildningar eller högfrekventa uppdateringar kan ta längre tid att replikera i alla regioner.
Region-down-upplevelse
Det här avsnittet beskriver vad du kan förvänta dig när ett register har konfigurerats för geo-replikering och det uppstår ett avbrott i den primära regionen.
När en region blir otillgänglig kan containeråtgärder fortsätta att använda alternativa regionala slutpunkter.
Identifiering och svar: Container Registry övervakar hälsotillståndet för varje regional replik och ansvarar för att omdirigera trafik till en annan region.
Meddelande: Azure Container Registry meddelar dig inte när en region är nere. Du kan dock använda Azure Service Health för att förstå den övergripande hälsan för Azure Container Registry-tjänsten, inklusive eventuella regionfel.
Konfigurera aviseringar för att ta emot meddelanden om problem på regionnivå. Mer information finns i Skapa Service Health-aviseringar i Azure-portalen.
Du kan också övervaka registertillgänglighetsmått för varje regional slutpunkt i Azure Monitor.
Aktiva begäranden: Alla aktiva begäranden som för närvarande skickas till en otillgänglig region misslyckas och måste göras om så att de kan dirigeras till en felfri region.
Förväntad dataförlust: De senaste skrivningar som gjorts i den felaktiga regionen kanske inte replikeras till andra regioner. Det här felet innebär att de kan gå förlorade tills regionen återställs. Normalt förväntas dataförlusten vara mindre än 15 minuter, men det är inte garanterat.
Förväntad stilleståndstid: För dataplansåtgärder förväntas en liten mängd stilleståndstid för dataplansåtgärder medan redundansväxlingen slutförs, vilket vanligtvis tar 1 till 2 minuter.
Om hemregionen inte är tillgänglig är kontrollplanet inte tillgängligt förrän regionen har återhämtat sig.
Omdistribution av trafik: När en region blir otillgänglig dirigeras containeråtgärder automatiskt till en annan replik i en fungerande region. Klienter behöver inte ändra slutpunkten där de interagerar med registret. Microsoft hanterar automatiskt routning, redundans och återställning efter fel.
Regionåterställning
När en region återställs återupptas dataplanets åtgärder automatiskt för den regionala slutpunkten via Traffic Manager-routing. Tjänsten synkroniserar alla ändringar som inträffar under driftstoppet med hjälp av asynkron replikering med slutlig konsekvens.
Test för regionfel
Du kan inte simulera felet i en av de regioner som är associerade med registret, men du kan testa programmets möjlighet att redundansväxla mellan regioner. Du kan simulera regional redundans genom att tillfälligt inaktivera geo-repliker, vilket tar bort dem från Traffic Manager-routning. Sedan kan du kontrollera att containeråtgärder redundansväxlar till alternativa regioner utan att det faktiskt uppstår ett regionalt avbrott. Mer information finns i Inaktivera routning till replikering tillfälligt.
När du återaktiverar repliken återupptar Traffic Manager routningstrafiken till den återaktiverade repliken. Dessutom synkroniseras metadata och bilder med slutlig konsekvens till den återaktiverade repliken för att säkerställa datakonsekvens i alla regioner.
Backups
För de flesta lösningar bör du inte enbart förlita dig på säkerhetskopior. Använd i stället de andra funktionerna som beskrivs i den här guiden för att stödja dina återhämtningskrav. Säkerhetskopior skyddar dock mot vissa risker som andra metoder inte gör. Mer information finns i Redundans, replikering och säkerhetskopiering.
Container Registry stöder export av containeravbildningar och artefakter från registret till extern lagring eller alternativa register. Använd import- och exportfunktioner för Container Registry eller docker-standardkommandon för att skapa kopior av kritiska containeravbildningar för haveriberedskapsscenarier.
Serviceavtal
Serviceavtalet (SLA) för Container Registry beskriver den förväntade tillgängligheten för tjänsten och de villkor som måste uppfyllas för att uppnå den tillgänglighetsförväntningen. Mer information finns i Serviceavtal för onlinetjänster.