Dela via


Återställa tillståndet för Kubernetes-kluster efter en katastrof

Gäller för: AKS på Azure Stack HCI 22H2, AKS på Windows Server

I AKS på Azure Local eller Windows Server distribueras hanteringsklustret som en enda fristående virtuell dator (VM) per distribution, vilket gör det till en enda felpunkt. Observera att ett avbrott i hanteringsklustret inte påverkar program som körs i arbetsbelastningskluster. När den virtuella datorn för hanteringskluster misslyckas fortsätter arbetsbelastningskluster (och arbetsbelastningar) att köras, men du kan inte utföra dag-2-åtgärder. Du kan till exempel inte skapa nya arbetsbelastningskluster, skapa eller skala en nodpool eller uppgradera Kubernetes-versioner förrän den virtuella datorn har återställts.

Hanteringsklustret är en virtuell dator som spåras i Windows-redundanskluster. Det är också motståndskraftigt mot störningar på värdnivå. Under ett fel på värddatorn startar windows redundanskluster med andra ord om den virtuella datorn på en felfri värddator. Den här artikeln innehåller vägledning om hur du utför följande uppgifter:

  • Återställa tillståndet för AKS på ny maskinvara (kan vara en ny plats).
  • Återställa från skadade hanteringskluster.

I något av dessa scenarier måste du återskapa hanteringsklustret och alla arbetsbelastningskluster.

Återställa tillståndet för AKS på ny maskinvara eller en ny webbplats

För att återställa tillståndet för Kubernetes-kluster måste du ha ett hanteringskluster tillgängligt på ny maskinvara eller på den nya platsen.

  • AKS stöder säkerhetskopiering av Kubernetes-kluster till Azure Blob Storage och MinIO med Velero. Microsoft rekommenderar att du säkerhetskopierar Azure Storage eftersom det ger tre redundanta kopior av data i den primära lagringsregionen.
  • Överväg att köra säkerhetskopieringen på ett cron-jobb för att säkerställa att tillgängliga säkerhetskopior uppfyller återställningspunktsmålen.

Förutsättningar

Förbered det kalla vänteläget före en katastrof genom att skapa ett hanteringskluster och ett tomt arbetsbelastningskluster. Du behöver ett tomt arbetsbelastningskluster för varje Kubernetes-kluster som du vill återställa från säkerhetskopian. Följande krav krävs:

Återställa från skadade hanteringskluster

Återställning från skadade hanteringskluster kräver avinstallation av AKS och ominstallation av hanteringsklustret och alla arbetsbelastningskluster. Arbetsbelastningskluster kan återställas till tomma arbetsbelastningskluster från Velero-säkerhetskopior.

Följande krav krävs:

  • Säkerhetskopiering av arbetsbelastningskluster: Säkerhetskopiera, återställa arbetsbelastningskluster med Velero.
  • Säkerhetskopiering av AKS-konfiguration för tidigare nätverks-, lagrings- och klusterinställningar. Klusterinställningar omfattar storlekar och antal virtuella datorer med kontrollplan, lastbalanserare och arbetsnoder. Om ditt gamla kluster till exempel hade 3 Standard_A2_V2 virtuella kontrollplansdatorer måste du skapa tre virtuella kontrollplansdatorer i den nya miljön.

Utför följande steg för att återställa från skadade hanteringskluster:

  • Avinstallera AKS: Uninstall-AksHci.
  • Installera ett nytt AKS-hanteringskluster med hjälp av steg 1–5 i den här artikeln: Använd PowerShell för att konfigurera Kubernetes i AKS-kluster.
  • Skapa arbetsbelastningsklustret med nödvändiga nodpooler med steg 6 i den här artikeln. Du behöver ett separat arbetsbelastningskluster för varje arbetsbelastningskluster som du återställer från säkerhetskopian.
  • Du kan konfigurera flera virtuella datorer med kontrollplan och virtuella lastbalanserare när arbetsbelastningskluster skapas med hjälp av den här artikeln: New-AksHciCluster för AKS.
  • Konfigurera nödvändig lagring:
  • Återställ alla arbetsbelastningskluster från säkerhetskopian.

Vanliga frågor

Vilken återhämtning är inbyggd i hanteringsklustret?

Varje AKS-distribution innehåller ett hanteringskluster som är en fristående virtuell dator. För återhämtning och hög tillgänglighet förlitar sig AKS på windows-redundanskluster för att återställa den virtuella datorn om ett avbrott inträffar.

Ett avbrott i hanteringsklustret påverkar inte program som körs i arbetsbelastningskluster. När den virtuella datorn för hanteringskluster slutar fungera påverkar detta din möjlighet att utföra AKS Dag 2-åtgärder, till exempel skapa nya arbetsbelastningskluster, skapa eller skala nodpooler, uppgradera Kubernetes-versioner osv. tills den virtuella datorn återställs. Om du inte kan återställa från ett hanteringsklusterfel rekommenderar vi att du kontaktar Microsoft Support.

Vad ingår i en Velero-säkerhetskopiering?

Filnamn Innehållsbeskrivning
*-csi-volumesnapshotclasses.json.gz Filer som innehåller csi är ögonblicksbilder av beständiga volymer.
*-csi-volumesnapshotcontents.json.gz Filer som innehåller csi är beständiga ögonblicksbilder av volymer.
*-csi-volumesnapshots.json.gz Filer som innehåller csi är ögonblicksbilder av beständiga volymer.
*-logs.gz Logga utdata från säkerhetskopieringsåtgärden. Samma data från att köras: velero backup log <backupname>.
*-podvolumebackups.json.gz Metadata om poddar och beständiga volymer.
*-resource-list.json.gz Resurser som finns i en säkerhetskopia visas i den här filen.
*-volumesnapshots.json.gz Metadata om poddar och beständiga volymer.
*.tar.gz Metadata: namnrymd, antal poddrepliker, minne, cpu. Samma data som returnerades från: kubectl get deployment.

Vad ingår inte i Velero-säkerhetskopior?

Velero-säkerhetskopieringen innehåller inte följande objekt:

  • Konfiguration av hanteringskluster (AKS)
  • Metadata för kontrollplanets virtuella dator (API-server)
  • Metadata för lastbalanserare (HA Proxy)
  • Nätverksinställningar
  • Lagringsinställningar

Hur gör jag för att säkerhetskopiera AKS-konfigurationen före en katastrof?

Om du vill säkerhetskopiera konfigurationen av hanteringsklustret öppnar du ett PowerShell-fönster och kör följande kommando:

Get-AksHciConfig | ConvertTo-Json 

Hur gör jag för att kontrollera att arbetsbelastningsklustret har samma konfiguration som före en katastrof?

Om du vill säkerhetskopiera konfigurationen av arbetsbelastningsklustret öppnar du ett PowerShell-fönster och kör följande kommando:

Get-AksHciCluster -name <cluster name> | ConvertTo-Json 

Nästa steg