Delen 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 met behulp van Azure Portal. U kunt ook een back-up maken van AKS met behulp van Azure PowerShell.

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.

Prerequisites

Dingen die u moet controleren voordat u een back-up voor een AKS-cluster configureert:

  • Momenteel ondersteunt AKS Backup alleen permanente volumes op basis van Azure Disk Storage die zijn ingeschakeld door het CSI-stuurprogramma. Back-upgegevens kunnen worden opgeslagen als momentopnamen in de operationele laag of kunnen ook worden verplaatst naar de Kluislaag voor langetermijnopslag, samen met momentopnamen. De Backup-kluis en het AKS-cluster kunnen zich in verschillende abonnementen binnen dezelfde tenant en 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. Persistent volume snapshots are stored in the resource group. 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. Learn more about the Backup extension.

  • Zorg ervoor dat u Microsoft.KubernetesConfiguration, Microsoft.DataProtection en Microsoft.ContainerService geregistreerd heeft voor uw abonnement voordat u begint met het configureren van back-ups en het uitvoeren van herstelbewerkingen.

  • 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

A Backup vault is a management entity that stores recovery points treated over time. 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 Vault en het AKS-cluster zich in dezelfde regio bevinden. Ze kunnen zich echter in verschillende abonnementen bevinden zolang ze zich binnen dezelfde tenant 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. Set the Backup Storage Redundancy parameter as Geo-Redundant during vault creation. Once the redundancy for a vault is set, you can't disable it.

    Schermopname van het inschakelen van de parameter Back-upopslagredundantie.

  2. Stel de Cross Region Restore-parameter onder Kluiseigenschappen in op Ingeschakeld. Zodra deze parameter is ingeschakeld, kunt u deze niet uitschakelen.

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

  3. Create a Backup Instance using a Backup Policy with retention duration set for Vault-standard datastore. 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. Go to the Backup vault that you created, and select Manage>Backup policies>Add.

  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.

    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 met Herstel tussen regio's 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 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

Om meerdere back-ups voor hetzelfde AKS-cluster in te stellen:

  • Configureer back-ups in dezelfde Backup-kluis, maar gebruik een ander back-upbeleid.
  • Configure backup in a different Backup vault.

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. Klik op Volgende. Controleer de installatiedetails van de extensie en selecteer Maken.

    De installatie van de extensie wordt gestart.

Backup 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. In het deelvenster Resources selecteren voor back-up, selecteer de clusterresources waarvan 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.

    When validation is finished, if required roles aren't assigned to the vault in the snapshot resource group, an error appears:

    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.

Backup configurations

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 te kiezen welke resources u wilt back-uppen en om aangepaste hooks uit te voeren. The defined backup configuration is referenced by the value for Backup Instance Name. De onderstaande filters zijn beschikbaar om uw toepassingsgrens te definiëren:

  1. Select Select Namespaces to backup. 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 type op te geven. U kunt bijvoorbeeld kiezen voor een back-up van AKS-resources zoals Deployments. 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. This includes namespace-scoped resources like persistent volume claims, and cluster-scoped resources like persistent volumes.

Als u specifieke permanente volumeclaims wilt uitsluiten van uw back-ups, voegt u de aantekening velero.io/exclude-from-backup=truetoe. Deze Velero-aantekening wordt ondersteund door Azure Backup voor AKS.

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 uitgerold als gecontaineriseerde werklasten.

Met behulp van een back-up hook kunt u de opdrachten definiëren om een MySQL-pod te bevriezen en de bevriezing daarvan op te heffen, zodat er een momentopname van het volume kan worden gemaakt. The Backup extension then orchestrates the steps of running the commands in the hooks and takes the volume snapshot.

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.

To enable a backup hook as part of the backup configuration flow to back up MySQL:

  1. Schrijf de aangepaste resource voor de backup hook met opdrachten om een PostgreSQL-pod te bevriezen en te ontdooien.

    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