Säkerhetskopiera Azure Kubernetes Service med hjälp av Azure Backup

Den här artikeln beskriver hur du konfigurerar och säkerhetskopierar Azure Kubernetes Service (AKS).

Du kan använda Azure Backup för att säkerhetskopiera AKS-kluster (klusterresurser och beständiga volymer som är anslutna till klustret) med hjälp av tillägget Säkerhetskopiering, som måste installeras i klustret. Säkerhetskopieringsvalvet kommunicerar med klustret via säkerhetskopieringstillägget för att utföra säkerhetskopierings- och återställningsåtgärder.

Kommentar

Säkerhetskopiering med valv och återställning mellan regioner för AKS med Azure Backup är för närvarande i förhandsversion.

Innan du börjar

  • För närvarande stöder AKS Backup endast Azure Disk Storage-baserade beständiga volymer som aktiveras av CSI-drivrutinen. Säkerhetskopiorna lagras endast i ett driftdatalager (säkerhetskopieringsdata lagras i din klientorganisation och flyttas inte till ett valv). Säkerhetskopieringsvalvet och AKS-klustret måste finnas i samma region.
  • AKS Backup använder en blobcontainer och en resursgrupp för att lagra säkerhetskopiorna. Blobcontainern innehåller AKS-klusterresurserna. Beständiga ögonblicksbilder av volymer lagras i resursgruppen. AKS-klustret och lagringsplatserna måste finnas i samma region. Lär dig hur du skapar en blobcontainer.
  • För närvarande stöder AKS Backup säkerhetskopiering en gång om dagen. Den stöder också mer frekventa säkerhetskopieringar (i intervall på 4 timmar, 8 timmar och 12 timmar) per dag. Med den här lösningen kan du behålla dina data för återställning i upp till 360 dagar. Lär dig hur du skapar en säkerhetskopieringsprincip.
  • Du måste installera säkerhetskopieringstillägget för att konfigurera säkerhetskopierings- och återställningsåtgärder för ett AKS-kluster. Läs mer om säkerhetskopieringstillägget.
  • Kontrollera att du har Microsoft.KubernetesConfiguration, Microsoft.DataProtectionoch Microsoft.ContainerService registrerat dig för din prenumeration innan du påbörjar säkerhetskopieringskonfiguration och återställningsåtgärder.
  • Kontrollera att du uppfyller alla krav innan du påbörjar en säkerhetskopiering eller återställningsåtgärd för AKS Backup.

Mer information om scenarier, begränsningar och tillgänglighet som stöds finns i supportmatrisen.

Skapa ett säkerhetskopieringsvalv

Ett säkerhetskopieringsvalv är en hanteringsentitet som lagrar återställningspunkter som behandlas över tid. Ett Säkerhetskopieringsvalv innehåller också ett gränssnitt för säkerhetskopieringsåtgärder. Åtgärder omfattar säkerhetskopiering på begäran, återställning och säkerhetskopieringsprinciper. AKS Backup kräver att säkerhetskopieringsvalvet och AKS-klustret finns i samma region. Lär dig hur du skapar ett säkerhetskopieringsvalv.

Kommentar

Ett Säkerhetskopieringsvalv är en ny resurs som används för att säkerhetskopiera nyligen stödda datakällor. Ett Backup-valv skiljer sig från ett Recovery Services-valv.

Om du vill använda Azure Backup för att skydda dina AKS-kluster från eventuella regionala avbrott kan du aktivera återställning mellan regioner. Om du vill aktivera återställning mellan regioner måste du:

  1. Ange parametern Backup Storage Redundancy som Geo-Redundant när valvet skapas. När redundansen för ett valv har angetts kan du inte inaktivera den.

    Skärmbild som visar hur du aktiverar parametern Säkerhetskopieringslagringsredundans.

  2. Ange parametern Återställning mellan regioner under Valvegenskaper som Aktiverad. När den här parametern är aktiverad kan du inte inaktivera den.

    Skärmbild som visar hur du aktiverar parametern Återställning mellan regioner.

  3. Skapa en säkerhetskopieringsinstans med hjälp av en säkerhetskopieringsprincip med kvarhållningstiden inställd för Valvstandarddatalager. Varje återställningspunkt som lagras i det här dataarkivet finns i den sekundära regionen.

Skapa en säkerhetskopieringsprincip

Innan du konfigurerar säkerhetskopior måste du skapa en säkerhetskopieringsprincip som definierar frekvensen för säkerhetskopior och kvarhållningstiden för säkerhetskopior.

Så här skapar du en säkerhetskopieringspolicy:

  1. Gå till säkerhetskopieringsvalvet som du skapade och välj Hantera>säkerhetskopieringsprinciper>Lägg till.

  2. Ange ett namn för säkerhetskopieringsprincipen.

  3. För Datasource-typ väljer du Kubernetes Services.

  4. På fliken Schema + kvarhållning definierar du säkerhetskopieringsschemat.

    • Säkerhetskopieringsfrekvens: Välj säkerhetskopieringsfrekvensen (varje timme eller varje dag) och välj sedan kvarhållningstiden för säkerhetskopiorna.
    • Kvarhållningsinställning: En ny säkerhetskopieringsprincip har standardregeln definierad som standard. Du kan redigera den här regeln och kan inte ta bort den. Standardregeln definierar kvarhållningstiden för alla säkerhetskopior på driftnivå som görs. Du kan också skapa ytterligare kvarhållningsregler för att lagra säkerhetskopior under en längre tid som tas varje dag eller varje vecka.

    Skärmbild som visar kvarhållningsinställningarna.

    Du kan också skapa extra kvarhållningsregler för att lagra säkerhetskopior under en längre tid som tas varje dag eller varje vecka.

    Kommentar

    • Förutom den första lyckade säkerhetskopieringen av dagen kan du definiera kvarhållningsreglerna för den första lyckade säkerhetskopieringen av veckan, månaden och året. När det gäller prioritet är ordningen år, månad, vecka och dag.
    • Du kan kopiera säkerhetskopior i den sekundära regionen (Azure Paired Region) som lagras på valvnivån, som du kan använda för att återställa AKS-kluster till en sekundär region när den primära regionen inte är tillgänglig. Om du vill välja den här funktionen använder du ett geo-redundant valv med återställning mellan regioner aktiverat.
  5. När säkerhetskopieringsfrekvensen och kvarhållningsinställningarna har konfigurerats väljer du Nästa.

  6. På fliken Granska + skapa granskar du informationen och väljer sedan Skapa.

Installera säkerhetskopieringstillägget och konfigurera säkerhetskopiering

Du kan använda AKS Backup för att säkerhetskopiera ett helt kluster eller specifika klusterresurser som distribueras i klustret. Du kan också skydda ett kluster flera gånger enligt det distribuerade programmets schema- och kvarhållningskrav eller säkerhetskrav.

Kommentar

Så här konfigurerar du flera säkerhetskopieringsinstanser för samma AKS-kluster:

  • Konfigurera säkerhetskopiering i samma säkerhetskopieringsvalv men med en annan säkerhetskopieringsprincip.
  • Konfigurera säkerhetskopiering i ett annat säkerhetskopieringsvalv.

Installera säkerhetskopieringstillägget

Så här konfigurerar du säkerhetskopior för ett AKS-kluster:

  1. I Azure Portal går du till det AKS-kluster som du vill säkerhetskopiera.

  2. På tjänstmenyn går du till Inställningar och väljer Säkerhetskopiera.

  3. Om du vill förbereda AKS-klustret för säkerhetskopiering eller återställning väljer du Installera tillägg för att installera tillägget Säkerhetskopiering i klustret.

  4. Ange ett lagringskonto och en blobcontainer som indata.

    Dina AKS-klustersäkerhetskopior lagras i den här blobcontainern. Lagringskontot måste finnas i samma region och prenumeration som klustret.

    Skärmbild som visar hur du lägger till lagrings- och blobinformation för säkerhetskopiering.

  5. Välj Nästa. Granska tilläggsinstallationsinformationen och välj sedan Skapa.

    Tilläggsinstallationen påbörjas.

Konfigurera säkerhetskopiering

  1. När säkerhetskopieringstillägget har installerats väljer du Konfigurera säkerhetskopiering.

  2. Välj det säkerhetskopieringsvalv som du skapade tidigare. Säkerhetskopieringsvalvet bör ha betrodd åtkomst aktiverat för att AKS-klustret ska säkerhetskopieras. Om du vill aktivera betrodd åtkomst väljer du Bevilja behörighet. Om den redan är aktiverad väljer du Nästa.

  3. På fliken Säkerhetskopieringsprincip väljer du säkerhetskopieringsprincipen, som definierar schemat för säkerhetskopieringar och deras kvarhållningsperiod och väljer sedan Nästa.

  4. På fliken Datakällor väljer du Lägg till/redigera för att definiera konfigurationen av säkerhetskopieringsinstansen.

  5. I fönstret Välj resurser till säkerhetskopiering definierar du de klusterresurser som du vill säkerhetskopiera.

    Läs mer om säkerhetskopieringskonfigurationer.

  6. För Resursgrupp för ögonblicksbild väljer du den resursgrupp som ska användas för att lagra ögonblicksbilder av beständiga volymer (Azure Disk Storage) och väljer sedan Verifiera.

    När valideringen är klar visas ett fel om nödvändiga roller inte har tilldelats till valvet i resursgruppen för ögonblicksbilder:

    Skärmbild som visar ett valideringsfel när nödvändiga behörigheter inte har tilldelats.

    Lös felet genom att under Datakällans namn markera kryssrutan för datakällan och sedan välja Tilldela saknade roller.

  7. När rolltilldelningen är klar väljer du Nästa>Konfigurera säkerhetskopiering.

Säkerhetskopieringskonfigurationer

Med Azure Backup för AKS kan du definiera programgränsen i AKS-klustret som du vill säkerhetskopiera. Du kan använda de filter som är tillgängliga i konfigurationer för säkerhetskopiering för att välja vilka resurser som ska säkerhetskopieras och även för att köra anpassade krokar. Den definierade säkerhetskopieringskonfigurationen refereras till av värdet för Namnet på säkerhetskopieringsinstansen. Filtren nedan är tillgängliga för att definiera programgränsen:

  1. Välj Välj namnområden som ska säkerhetskopieras. Du kan antingen välja Alla för att säkerhetskopiera alla befintliga och framtida namnområden i klustret, eller så kan du välja specifika namnområden för säkerhetskopiering.

    Följande namnområden hoppas över från säkerhetskopieringskonfigurationerna: kube-system, kube-node-leaseoch kube-public.

    Skärmbild som visar hur du väljer namnområden som ska ingå i säkerhetskopian.

  2. Expandera Ytterligare resursinställningar för att se filter som du kan använda för att välja klusterresurser att säkerhetskopiera. Du kan välja att säkerhetskopiera resurser baserat på följande kategorier:

    • Etiketter: Du kan filtrera AKS-resurser med hjälp av etiketter som du tilldelar till typer av resurser. Ange etiketter i form av nyckel/värde-par. Du kan kombinera flera etiketter med hjälp av AND logik. Om du till exempel anger etiketterna env=prod;tier!=webväljer processen resurser som har en etikett med env nyckeln och prod värdet och en etikett med tier nyckeln som värdet inte webär för .
    • API-grupper: Du kan också inkludera resurser genom att tillhandahålla AKS API-gruppen och typen. Du kan till exempel välja att säkerhetskopiera AKS-resurser som Distributioner. Du kan komma åt listan över Kubernetes-definierade API-grupper här.
    • Andra alternativ: Du kan aktivera eller inaktivera säkerhetskopiering för klusteromfattande resurser, beständiga volymer och hemligheter. Klusteromfångsresurser och beständiga volymer är aktiverade som standard.

Kommentar

Du bör lägga till etiketterna i varje YAML-fil som distribueras och säkerhetskopieras. Detta inkluderar namnområdesomfångsresurser som beständiga volymanspråk och klusteromfångsresurser som beständiga volymer.

Använda krokar under AKS-säkerhetskopiering

Det här avsnittet beskriver hur du använder en säkerhetskopieringskrok för att skapa en programkonsekvent ögonblicksbild av AKS-klustret med MySQL distribuerad (en beständig volym som innehåller MySQL-instansen).

Du kan använda anpassade krokar i AKS-säkerhetskopiering för att utföra programkonsekventa ögonblicksbilder av volymer. Volymerna används för databaser som distribueras som containerbaserade arbetsbelastningar.

Genom att använda en säkerhetskopieringskrok kan du definiera kommandona för att låsa och låsa upp en MySQL-podd så att en ögonblicksbild av volymen kan tas. Tillägget Säkerhetskopiering orkestrerar sedan stegen för att köra kommandona i krokarna och tar ögonblicksbilden av volymen.

En programkonsekvent ögonblicksbild av en volym med MySQL distribuerad utförs genom följande åtgärder:

  1. Podden som kör MySQL är låst så att ingen ny transaktion utförs på databasen.
  2. En ögonblicksbild tas av volymen som säkerhetskopia.
  3. Podden som kör MySQL är offrozen så att transaktioner kan göras igen i databasen.

Så här aktiverar du en säkerhetskopieringskrok som en del av konfigurationsflödet för säkerhetskopiering för att säkerhetskopiera MySQL:

  1. Skriv den anpassade resursen för säkerhetskopieringskroken med kommandon för att låsa och frigöra en PostgreSQL-podd.

    Du kan också använda följande YAML-exempelskript postgresbackuphook.yaml, som har fördefinierade kommandon:

    apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
    kind: BackupHook
    metadata:
    # BackupHook CR Name and Namespace
    name: bkphookname0
    namespace: default
    spec:
    # BackupHook Name. This is the name of the hook that will be executed during backup.
    # compulsory
    name: hook1
    # Namespaces where this hook will be executed.
    includedNamespaces: 
    - hrweb
    excludedNamespaces:
    labelSelector:
    # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item.
    preHooks:
       - exec:
          command:
          - /sbin/fsfreeze
          - --freeze
          - /var/lib/postgresql/data
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
       - exec:
          container: webcontainer
          command:
             - /sbin/fsfreeze
             - --unfreeze
          onError: Fail
          timeout: 10s
    
    
    
  2. Innan du konfigurerar en säkerhetskopia måste du distribuera den anpassade resursen för säkerhetskopieringskroken i AKS-klustret.

    Kör följande kommando för att distribuera skriptet:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. När distributionen är klar kan du konfigurera säkerhetskopior för AKS-klustret.

    Kommentar

    Som en del av en säkerhetskopieringskonfiguration måste du ange det anpassade resursnamnet och namnområdet som resursen distribueras i som indata.

Nästa steg