Share via


Een back-up maken van Azure Kubernetes Service met behulp van Azure Backup

In dit artikel wordt beschreven hoe u Azure Kubernetes Service (AKS) configureert en er een back-up van maakt.

U kunt Azure Backup gebruiken om een back-up te maken van AKS-clusters (clusterbronnen en permanente volumes die aan het cluster zijn gekoppeld) met behulp van de Backup-extensie die in het cluster moet worden geïnstalleerd. De Backup-kluis communiceert met het cluster via de back-upextensie om back-up- en herstelbewerkingen uit te voeren.

Notitie

Gekluisde back-ups en herstel tussen regio's voor AKS met behulp van Azure Backup zijn momenteel beschikbaar als preview-versie.

Voordat u begint

  • Momenteel ondersteunt AKS Backup alleen permanente volumes op basis van Azure Disk Storage die zijn ingeschakeld door het CSI-stuurprogramma. De back-ups worden alleen opgeslagen in een operationeel gegevensarchief (back-upgegevens worden opgeslagen in uw tenant en worden niet verplaatst naar een kluis). De Backup-kluis en het AKS-cluster moeten zich in dezelfde regio bevinden.
  • AKS Backup maakt gebruik van een blobcontainer en een resourcegroep om de back-ups op te slaan. De blobcontainer bevat de AKS-clusterbronnen. Momentopnamen van permanente volumes worden opgeslagen in de resourcegroep. Het AKS-cluster en de opslaglocaties moeten zich in dezelfde regio bevinden. Meer informatie over het maken van een blobcontainer.
  • Op dit moment biedt AKS Backup ondersteuning voor eenmalige back-ups. Het biedt ook ondersteuning voor frequentere back-ups (in intervallen van 4 uur, 8 uur en 12 uur) per dag. Met deze oplossing kunt u uw gegevens maximaal 360 dagen bewaren voor herstel. Meer informatie over het maken van een back-upbeleid.
  • U moet de back-upextensie installeren om back-up- en herstelbewerkingen voor een AKS-cluster te configureren. Meer informatie over de back-upextensie.
  • Zorg ervoor dat u , Microsoft.DataProtectionen Microsoft.ContainerService geregistreerd bent Microsoft.KubernetesConfigurationvoor uw abonnement voordat u back-upconfiguratie- en herstelbewerkingen start.
  • Zorg ervoor dat u aan alle vereisten voldoet voordat u een back-up- of herstelbewerking voor AKS Backup start.

Zie de ondersteuningsmatrix voor meer informatie over ondersteunde scenario's, beperkingen en beschikbaarheid.

Een Backup-kluis maken

Een Backup-kluis is een beheerentiteit waarin herstelpunten in de loop van de tijd worden opgeslagen. Een Backup-kluis biedt ook een interface voor het uitvoeren van de back-upbewerkingen. Bewerkingen omvatten het maken van back-ups op aanvraag, het uitvoeren van herstelbewerkingen en het maken van back-upbeleid. Voor AKS Backup moeten de Backup-kluis en het AKS-cluster zich in dezelfde regio bevinden. Meer informatie over het maken van een Backup-kluis.

Notitie

Een Backup-kluis is een nieuwe resource die wordt gebruikt om een back-up te maken van nieuw ondersteunde gegevensbronnen. Een Backup-kluis verschilt van een Recovery Services-kluis.

Als u Azure Backup wilt gebruiken om uw AKS-clusters te beschermen tegen regionale storingen, kunt u Herstel tussen regio's inschakelen. Als u herstel tussen regio's wilt inschakelen, moet u het volgende doen:

  1. Stel de parameter Redundantie voor back-upopslag in als Geografisch redundant tijdens het maken van de kluis. Zodra de redundantie voor een kluis is ingesteld, kunt u deze niet uitschakelen.

    Schermopname van het inschakelen van de parameter Back-upopslagredundantie.

  2. Stel de parameter Herstellen tussen regio's in onder Kluiseigenschappen als Ingeschakeld. Zodra deze parameter is ingeschakeld, kunt u deze niet uitschakelen.

    Schermopname van het inschakelen van de parameter Herstel tussen regio's.

  3. Maak een back-upexemplaren met een back-upbeleid met een retentieduur die is ingesteld voor het standaardgegevensarchief van de kluis. Elk herstelpunt dat in dit gegevensarchief is opgeslagen, bevindt zich in de secundaire regio.

Een back-upbeleid maken

Voordat u back-ups configureert, moet u een back-upbeleid maken dat de frequentie van back-ups en de retentieduur van back-ups definieert.

Ga als volgt te werk om een back-upbeleid te maken:

  1. Ga naar de Backup-kluis die u hebt gemaakt en selecteer Back-upbeleid>>beheren.

  2. Voer een naam in voor het back-upbeleid.

  3. Voor het gegevensbrontype selecteert u Kubernetes Services.

  4. Definieer op het tabblad Planning en retentie het back-upschema.

    • Back-upfrequentie: selecteer de back-upfrequentie (elk uur of dagelijks) en kies vervolgens de bewaarduur voor de back-ups.
    • Bewaarinstelling: voor een nieuw back-upbeleid is standaard de standaardregel gedefinieerd. U kunt deze regel bewerken en deze niet verwijderen. De standaardregel definieert de retentieduur voor alle back-ups van de operationele laag die zijn gemaakt. U kunt ook aanvullende bewaarregels maken om back-ups op te slaan voor een langere duur die dagelijks of wekelijks wordt gemaakt.

    Schermopname van de bewaarinstellingen.

    U kunt ook extra bewaarregels maken om back-ups op te slaan voor een langere duur die dagelijks of wekelijks wordt genomen.

    Notitie

    • Naast de eerste geslaagde back-up van de dag kunt u de bewaarregels definiëren voor de eerste geslaagde back-up van de week, maand en jaar. In termen van prioriteit is de volgorde jaar, maand, week en dag.
    • U kunt back-ups kopiëren in de secundaire regio (gekoppelde Azure-regio) die zijn opgeslagen in de kluislaag, die u kunt gebruiken om AKS-clusters te herstellen naar een secundaire regio wanneer de primaire regio niet beschikbaar is. Als u voor deze functie wilt kiezen, gebruikt u een geografisch redundante kluis waarvoor Herstel tussen regio's is ingeschakeld.
  5. Wanneer de back-upfrequentie en retentie-instellingen zijn geconfigureerd, selecteert u Volgende.

  6. Controleer de informatie op het tabblad Controleren en maken en selecteer Vervolgens Maken.

Back-upextensie installeren en back-up configureren

U kunt AKS Backup gebruiken om een back-up te maken van een volledig cluster of specifieke clusterbronnen die in het cluster zijn geïmplementeerd. U kunt een cluster ook meerdere keren beveiligen volgens de plannings- en bewaarvereisten van de geïmplementeerde toepassing of beveiligingsvereisten.

Notitie

Meerdere back-upexemplaren instellen voor hetzelfde AKS-cluster:

  • Configureer back-ups in dezelfde Backup-kluis, maar gebruik een ander back-upbeleid.
  • Configureer back-up in een andere Backup-kluis.

De back-upextensie installeren

Back-ups configureren voor een AKS-cluster:

  1. Ga in Azure Portal naar het AKS-cluster waarvoor u een back-up wilt maken.

  2. Selecteer Back-up in het servicemenu onder Instellingen.

  3. Als u het AKS-cluster wilt voorbereiden voor back-up of herstel, selecteert u Extensie installeren om de back-upextensie in het cluster te installeren.

  4. Geef een opslagaccount en blobcontainer op als invoer.

    De back-ups van uw AKS-cluster worden opgeslagen in deze blobcontainer. Het opslagaccount moet zich in dezelfde regio en hetzelfde abonnement bevinden als het cluster.

    Schermopname van het toevoegen van opslag- en blobgegevens voor back-up.

  5. Selecteer Volgende. Controleer de installatiedetails van de extensie en selecteer Vervolgens Maken.

    De installatie van de extensie wordt gestart.

Back-up configureren

  1. Wanneer de back-upextensie is geïnstalleerd, selecteert u Back-up configureren.

  2. Selecteer de Backup-kluis die u eerder hebt gemaakt. In de Backup-kluis moet vertrouwde toegang zijn ingeschakeld voor het AKS-cluster waarvan een back-up moet worden gemaakt. Als u Vertrouwde toegang wilt inschakelen, selecteert u Machtiging verlenen. Als deze optie al is ingeschakeld, selecteert u Volgende.

  3. Selecteer op het tabblad Back-upbeleid het back-upbeleid, waarmee het schema voor back-ups en de bewaarperiode wordt gedefinieerd en selecteer vervolgens Volgende.

  4. Selecteer Op het tabblad Gegevensbronnen de optie Toevoegen/Bewerken om de configuratie van het back-upexemplaren te definiëren.

  5. Definieer in het deelvenster Resources selecteren voor back-up de clusterbronnen waarvoor u een back-up wilt maken.

    Meer informatie over back-upconfiguraties.

  6. Selecteer voor de momentopnameresourcegroep de resourcegroep die u wilt gebruiken om de momentopnamen van het permanente volume (Azure Disk Storage) op te slaan en selecteer vervolgens Valideren.

    Wanneer de validatie is voltooid, wordt er een fout weergegeven als de vereiste rollen niet zijn toegewezen aan de kluis in de resourcegroep voor momentopnamen:

    Schermopname van een validatiefout wanneer vereiste machtigingen niet zijn toegewezen.

    Als u de fout wilt oplossen, schakelt u onder De naam van de gegevensbron het selectievakje voor de gegevensbron in en selecteert u Ontbrekende rollen toewijzen.

  7. Wanneer de roltoewijzing is voltooid, selecteert u Volgende>back-up configureren.

Back-upconfiguraties

Met Azure Backup voor AKS kunt u de toepassingsgrens definiëren binnen een AKS-cluster waarvoor u een back-up wilt maken. U kunt de filters die beschikbaar zijn in back-upconfiguraties gebruiken om een back-up te maken van de resources en om aangepaste hooks uit te voeren. Er wordt naar de configuratie van de gedefinieerde back-up verwezen door de waarde voor de naam van het back-upexemplaren. De onderstaande filters zijn beschikbaar om uw toepassingsgrens te definiëren:

  1. Selecteer Naamruimten selecteren om een back-up te maken. U kunt Alle selecteren om een back-up te maken van alle bestaande en toekomstige naamruimten in het cluster of u kunt specifieke naamruimten voor back-up selecteren.

    De volgende naamruimten worden overgeslagen vanuit back-upconfiguraties: kube-system, kube-node-leaseen kube-public.

    Schermopname die laat zien hoe u naamruimten selecteert die u wilt opnemen in de back-up.

  2. Vouw Aanvullende resource-instellingen uit om filters weer te geven die u kunt gebruiken om een back-up te maken van clusterresources. U kunt ervoor kiezen om een back-up te maken van resources op basis van de volgende categorieën:

    • Labels: U kunt AKS-resources filteren met behulp van labels die u toewijst aan typen resources. Voer labels in de vorm van sleutel-waardeparen in. U kunt meerdere labels combineren met behulp van AND logica. Als u bijvoorbeeld de labels env=prod;tier!=webinvoert, selecteert het proces resources met een label met de env sleutel en de prod waarde en een label met de tier sleutel waarvoor de waarde niet webis.
    • API-groepen: u kunt ook resources opnemen door de AKS-API-groep en het soort op te geven. U kunt bijvoorbeeld kiezen voor back-up van AKS-resources zoals Implementaties. U hebt hier toegang tot de lijst met door Kubernetes gedefinieerde API-groepen.
    • Andere opties: u kunt back-ups in- of uitschakelen voor clusterbronnen, permanente volumes en geheimen. Resources met clusterbereik en permanente volumes zijn standaard ingeschakeld.

Notitie

Voeg de labels toe aan elk YAML-bestand dat is geïmplementeerd en waarvan een back-up moet worden gemaakt. Dit omvat resources met naamruimtebereik, zoals permanente volumeclaims en clusterresources, zoals permanente volumes.

Hooks gebruiken tijdens AKS Backup

In deze sectie wordt beschreven hoe u een back-uphook gebruikt om een toepassingsconsistente momentopname van het AKS-cluster te maken met MySQL geïmplementeerd (een permanent volume dat het MySQL-exemplaar bevat).

U kunt aangepaste hooks in AKS-back-ups gebruiken om toepassingsconsistente momentopnamen van volumes uit te voeren. De volumes worden gebruikt voor databases die worden geïmplementeerd als containerworkloads.

Met behulp van een back-uphook kunt u de opdrachten definiëren om een MySQL-pod te blokkeren en de blokkering ervan op te heffen, zodat een momentopname van de toepassing van het volume kan worden gemaakt. De backup-extensie organiseert vervolgens de stappen voor het uitvoeren van de opdrachten in de hooks en maakt de momentopname van het volume.

Een toepassingsconsistente momentopname van een volume waarop MySQL is geïmplementeerd, wordt uitgevoerd door de volgende acties uit te voeren:

  1. De pod waarop MySQL wordt uitgevoerd, wordt geblokkeerd, zodat er geen nieuwe transactie wordt uitgevoerd op de database.
  2. Er wordt een momentopname van het volume gemaakt als back-up.
  3. De pod waarop MySQL wordt uitgevoerd, wordt uitgeschakeld, zodat transacties opnieuw in de database kunnen worden uitgevoerd.

Een back-uphook inschakelen als onderdeel van de back-upconfiguratiestroom om een back-up te maken van MySQL:

  1. Schrijf de aangepaste resource voor back-uphook met opdrachten om een PostgreSQL-pod te blokkeren en de blokkering op te heffen.

    U kunt ook het volgende YAML-voorbeeldscript postgresbackuphook.yaml gebruiken, met vooraf gedefinieerde opdrachten:

    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. Voordat u een back-up configureert, moet u de aangepaste resource voor back-uphook implementeren in het AKS-cluster.

    Voer de volgende opdracht uit om het script te implementeren:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Wanneer de implementatie is voltooid, kunt u back-ups configureren voor het AKS-cluster.

    Notitie

    Als onderdeel van een back-upconfiguratie moet u de naam van de aangepaste resource en de naamruimte opgeven waarin de resource als invoer wordt geïmplementeerd.

Volgende stappen