Hoe back-up te maken en gegevens van een DOKS-cluster te herstellen met Velero

Introductie

Net als bij elke andere setup kan de data in een Kubernetes-cluster het risico lopen verloren te gaan. Om ernstige problemen te voorkomen, is het essentieel om een dataherstelplan bij de hand te hebben. Een eenvoudige en effectieve manier om dit te doen is door back-ups te maken, waardoor uw gegevens veilig zijn in geval van onverwachte gebeurtenissen. Back-ups kunnen eenmalig of gepland worden uitgevoerd. Het is een goed idee om geplande back-ups te hebben om ervoor te zorgen dat u een recente back-up heeft om gemakkelijk op terug te vallen.

Velero – een open-source tool ontworpen om back-up- en herstelbewerkingen voor Kubernetes-clusters te helpen. Het is ideaal voor het geval van rampenherstel, evenals voor het maken van snapshots van de toepassingsstatus voordat systeembewerkingen op uw cluster worden uitgevoerd, zoals upgrades. Voor meer details over dit onderwerp kunt u de officiële pagina Hoe Velero Werkt bezoeken.

In deze tutorial leert u hoe u Velero implementeert naar uw Kubernetes-cluster, back-ups maakt en herstelt van een back-up als er iets misgaat. U kunt uw hele cluster back-uppen of optioneel een namespace of labelselector kiezen om uw cluster te back-uppen.

Inhoudsopgave

Vereisten

Om deze tutorial te voltooien, heb je het volgende nodig:

  • A DO Spaces Bucket and access keys. Save the access and secret keys in a safe place for later use.
  • A DigitalOcean API token for Velero to use.
  • A Git client, to clone the Starter Kit repository.
  • Helm voor het beheren van Velero-releases en upgrades.
  • Doctl voor interactie met de DigitalOcean API.
  • Kubectl voor interactie met Kubernetes.
  • Velero-client om Velero-back-ups te beheren.

Stap 1 – Velero installeren met behulp van Helm

In deze stap zal je Velero en alle benodigde componenten implementeren, zodat het in staat zal zijn om back-ups te maken van de resources van je Kubernetes-cluster (inclusief PV’s). De back-upgegevens worden opgeslagen in de DO Spaces-bucket die eerder is aangemaakt in de Vereisten-sectie.

Eerst kloon je de Starter Kit Git-repository en verander je de directory naar je lokale kopie:

git clone https://github.com/digitalocean/Kubernetes-Starter-Kit-Developers.git

cd Kubernetes-Starter-Kit-Developers

Vervolgens voeg je het Helm-repository toe en toon je de beschikbare charts:

helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts

helm repo update vmware-tanzu

helm search repo vmware-tanzu

De uitvoer ziet er vergelijkbaar uit met het volgende:

NAME                    CHART VERSION   APP VERSION     DESCRIPTION
vmware-tanzu/velero     2.29.7          1.8.1           A Helm chart for velero

De chart van interesse is vmware-tanzu/velero, die Velero op het cluster zal installeren. Bezoek alstublieft de pagina van het velero-chart voor meer details over deze chart.

Vervolgens open en inspecteer je het Velero Helm-waardenbestand dat wordt geleverd in de Starter Kit-repository met behulp van een editor naar keuze (bij voorkeur met YAML-lintondersteuning).

VELERO_CHART_VERSION="2.29.7"

code 05-setup-backup-restore/assets/manifests/velero-values-v${VELERO_CHART_VERSION}.yaml

Vervolgens vervang je de <> placeholders dienovereenkomstig voor je DO Spaces Velero-bucket (zoals naam, regio en geheimen). Zorg ervoor dat je ook je DigitalOcean API-token verstrekt (DIGITALOCEAN_TOKEN sleutel).

Tenslotte, installeer Velero met behulp van helm:

VELERO_CHART_VERSION="2.29.7"

helm install velero vmware-tanzu/velero --version "${VELERO_CHART_VERSION}" \
  --namespace velero \
  --create-namespace \
  -f 05-setup-backup-restore/assets/manifests/velero-values-v${VELERO_CHART_VERSION}.yaml

A specific version of the Velero Helm chart is used. In this case 2.29.7 is picked, which maps to the 1.8.1 version of the application (see the output from Step 2.). It’s a good practice in general to lock on a specific version. This helps to have predictable results and allows versioning control via Git.

–create-namespace \

helm ls -n velero

Controleer nu je Velero-implementatie door het volgende uit te voeren:

NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
velero  velero          1               2022-06-09 08:38:24.868664 +0300 EEST   deployed        velero-2.29.7   1.8.1

De uitvoer ziet er vergelijkbaar uit met het volgende (de STATUS-kolom moet deployed weergeven):

kubectl get deployment velero -n velero

Controleer vervolgens of Velero actief is:

NAME     READY   UP-TO-DATE   AVAILABLE   AGE
velero   1/1     1            1           67s

De uitvoer ziet er vergelijkbaar uit met het volgende (implementatie-pods moeten in de Ready-status zijn):

kubectl -n velero get all

Als je verder wilt kijken, kun je de server-side componenten van Velero bekijken:

  • Verken de Velero CLI help-pagina’s om te zien welke opdrachten en subopdrachten beschikbaar zijn. Je kunt hulp krijgen voor elk door de --help-vlag te gebruiken:
  • Lijst alle beschikbare opdrachten voor Velero:

Lijst de opties voor de backup-opdracht voor Velero:

Velero maakt gebruik van verschillende CRD’s (Custom Resource Definitions) om zijn bronnen zoals back-ups, back-upschema’s, enz. voor te stellen. Je zult elk ontdekken in de volgende stappen van de tutorial, samen met enkele basisvoorbeelden.

Stap 2 – Voorbeeld van Namespace Back-up en Herstel

In deze stap leert u hoe u een eenmalige back-up uitvoert voor een volledige namespace vanuit uw DOKS-cluster en deze vervolgens herstelt, waarbij ervoor wordt gezorgd dat alle resources opnieuw worden aangemaakt. De betreffende namespace is ambassador.

Maak de back-up van de Ambassador Namespace

velero backup create ambassador-backup --include-namespaces ambassador

Eerst, initieer de back-up:

velero backup get

Vervolgens controleert u of de back-up is gemaakt:

NAME                                       STATUS      ERRORS   WARNINGS   CREATED                          EXPIRES   STORAGE LOCATION   SELECTOR
ambassador-backup                          Completed   0        0          2021-08-25 19:33:03 +0300 EEST   29d       default            <none>

De uitvoer ziet er vergelijkbaar uit als:

velero backup describe ambassador-backup --details

Daarna, na een paar momenten, kunt u deze inspecteren:

Name:         ambassador-backup
Namespace:    velero
Labels:       velero.io/storage-location=default
Annotations:  velero.io/source-cluster-k8s-gitversion=v1.21.2
              velero.io/source-cluster-k8s-major-version=1
              velero.io/source-cluster-k8s-minor-version=21

Phase:  Completed

Errors:    0
Warnings:  0

Namespaces:
  Included:  ambassador
  Excluded:  <none>
  ...
  • De uitvoer ziet er vergelijkbaar uit als:
  • Zoek naar de regel Fase. Het zou moeten zeggen Voltooid.
  • Controleer ook of er geen fouten worden gemeld.

Een nieuw Kubernetes back-upobject is aangemaakt:

~ kubectl get backup/ambassador-backup -n velero -o yaml

apiVersion: velero.io/v1
kind: Backup
metadata:
annotations:
velero.io/source-cluster-k8s-gitversion: v1.21.2
velero.io/source-cluster-k8s-major-version: "1"
velero.io/source-cluster-k8s-minor-version: "21"
...

Tenslotte, bekijk de DO Spaces-bucket en controleer of er een nieuwe map genaamd backups is die de assets bevat die zijn gemaakt voor uw ambassador-backup:

Het verwijderen van de Ambassador Namespace en Resources

kubectl delete namespace ambassador

Eerst simuleer een ramp door opzettelijk de ambassador namespace te verwijderen:

kubectl get namespaces

Vervolgens controleer of de namespace is verwijderd (de lijst met namespaces moet geen ambassador afdrukken):

curl -Li http://quote.starter-kit.online/quote/

curl -Li http://echo.starter-kit.online/echo/

Tenslotte controleer of de echo en quote backend services endpoint DOWN zijn. Raadpleeg Het maken van de Ambassador Edge Stack Backend Services met betrekking tot de backend-applicaties die worden gebruikt in de Starter Kit-handleiding. U kunt curl gebruiken om te testen (of u kunt uw webbrowser gebruiken):

Het herstellen van de Ambassador Namespace Backup

velero restore create --from-backup ambassador-backup

Herstel de ambassador-backup:

Belangrijk: Wanneer u de ambassador namespace verwijdert, wordt de load balancer resource die is gekoppeld aan de ambassador service ook verwijderd. Dus, wanneer u de ambassador service herstelt, zal de load balancer opnieuw worden aangemaakt door DigitalOcean. Het probleem hier is dat u een NIEUW IP-adres krijgt voor uw load balancer, dus u moet de A-records aanpassen om verkeer te krijgen naar uw domeinen die zijn gehost op de cluster.

Het controleren van de Herstel van de Ambassador Namespace

velero restore describe ambassador-backup

Om de herstel van de ambassador namespace te verifiëren, controleert u de Phase-regel van de uitvoer van het ambassador-backup herstelcommando. Het zou Voltooid moeten zeggen (let ook op de Warnings-sectie – het vertelt of er iets fout is gegaan):

kubectl get all --namespace ambassador

Vervolgens controleert u of alle resources zijn hersteld voor de ambassador namespace. Zoek naar de ambassador pods, services, en deployments.

NAME                                    READY   STATUS    RESTARTS   AGE
pod/ambassador-5bdc64f9f6-9qnz6         1/1     Running   0          18h
pod/ambassador-5bdc64f9f6-twgxb         1/1     Running   0          18h
pod/ambassador-agent-bcdd8ccc8-8pcwg    1/1     Running   0          18h
pod/ambassador-redis-64b7c668b9-jzxb5   1/1     Running   0          18h

NAME                       TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
service/ambassador         LoadBalancer   10.245.74.214    159.89.215.200   80:32091/TCP,443:31423/TCP   18h
service/ambassador-admin   ClusterIP      10.245.204.189   <none>           8877/TCP,8005/TCP            18h
service/ambassador-redis   ClusterIP      10.245.180.25    <none>           6379/TCP                     18h

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/ambassador         2/2     2            2           18h
deployment.apps/ambassador-agent   1/1     1            1           18h
deployment.apps/ambassador-redis   1/1     1            1           18h

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/ambassador-5bdc64f9f6         2         2         2       18h
replicaset.apps/ambassador-agent-bcdd8ccc8    1         1         1       18h
replicaset.apps/ambassador-redis-64b7c668b9   1         1         1       18h

De uitvoer ziet er ongeveer als volgt uit:

kubectl get hosts -n ambassador

Krijg ambassador hosts:

NAME         HOSTNAME                   STATE   PHASE COMPLETED   PHASE PENDING   AGE
echo-host    echo.starter-kit.online    Ready                                     11m
quote-host   quote.starter-kit.online   Ready                                     11m

De uitvoer ziet er ongeveer als volgt uit:

STATE zou Klaar moeten zijn en de HOSTNAME-kolom moet verwijzen naar de volledig gekwalificeerde hostnaam.

kubectl get mappings -n ambassador

Krijg ambassador mappings:

NAME                          SOURCE HOST                SOURCE PREFIX                               DEST SERVICE     STATE   REASON
ambassador-devportal                                     /documentation/                             127.0.0.1:8500
ambassador-devportal-api                                 /openapi/                                   127.0.0.1:8500
ambassador-devportal-assets                              /documentation/(assets|styles)/(.*)(.css)   127.0.0.1:8500
ambassador-devportal-demo                                /docs/                                      127.0.0.1:8500
echo-backend                  echo.starter-kit.online    /echo/                                      echo.backend
quote-backend                 quote.starter-kit.online   /quote/                                     quote.backend

De uitvoer ziet er vergelijkbaar uit met (let op de echo-backend die is gekoppeld aan de host echo.starter-kit.online en de bronvoorvoegsel /echo/, hetzelfde geldt voor quote-backend):

curl -Li https://quote.starter-kit.online/quote/

curl -Li https://echo.starter-kit.online/echo/

Tenslotte, nadat u uw load balancer en DigitalOcean domeininstellingen opnieuw hebt geconfigureerd, controleer dan of de eindpunten van de echo en quote backend services UP zijn. Raadpleeg Het maken van de Ambassador Edge Stack Backend Services.

In de volgende stap zult u een ramp simuleren door uw DOKS-cluster opzettelijk te verwijderen.

Stap 3 – Voorbeeld van het maken van een back-up en het herstellen van het hele cluster

In deze stap zult u een scenario voor het herstellen na een ramp simuleren. Het hele DOKS-cluster zal worden verwijderd en vervolgens worden hersteld vanuit een eerdere back-up.

Het maken van een back-up van het DOKS-cluster

velero backup create all-cluster-backup

Maak eerst een back-up van het hele DOKS-cluster:

velero backup get

Volgende, controleer of de back-up is gemaakt en er geen fouten worden gemeld. Het volgende commando geeft een lijst van alle beschikbare back-ups:

NAME                                       STATUS      ERRORS   WARNINGS   CREATED                          EXPIRES   STORAGE LOCATION   SELECTOR
all-cluster-backup                         Completed   0        0          2021-08-25 19:43:03 +0300 EEST   29d       default            <none>

De uitvoer ziet er ongeveer zo uit:

velero backup describe all-cluster-backup

velero backup logs all-cluster-backup

Tenslotte, inspecteer de back-upstatus en logs (controleer of er geen fouten worden gemeld):

Belangrijk: Wanneer u een DOKS-cluster vernietigt zonder de --dangerous-vlag aan de doctl-opdracht op te geven en het vervolgens herstelt, wordt dezelfde load balancer met hetzelfde IP-adres opnieuw aangemaakt. Dit betekent dat u uw DigitalOcean DNS A-records niet hoeft bij te werken.
Maar wanneer de --dangerous-vlag wordt toegepast op de doctl-opdracht, zal de bestaande load balancer worden vernietigd en zal er een nieuwe load balancer met een nieuw extern IP-adres worden gemaakt wanneer Velero uw ingress-controller herstelt. Zorg er dus voor dat u uw DigitalOcean DNS A-records dienovereenkomstig bijwerkt.

Eerst, verwijder de volledige DOKS-cluster (zorg ervoor dat u de <>-placeholders vervangt).

doctl kubernetes cluster delete <DOKS_CLUSTER_NAME>

Om het Kubernetes-cluster te verwijderen zonder de bijbehorende load balancer te vernietigen, voer het volgende uit:

doctl kubernetes cluster delete <DOKS_CLUSTER_NAME> --dangerous

Of om het Kubernetes-cluster samen met de bijbehorende load balancer te verwijderen:

Vervolgens, maak de cluster opnieuw aan, zoals beschreven in Stel DigitalOcean Kubernetes in. Het is belangrijk om ervoor te zorgen dat het aantal knooppunten van de nieuwe DOKS-cluster gelijk is aan of groter is dan het oorspronkelijke aantal.

Vervolgens installeer je de Velero CLI en Server, zoals beschreven in de Vereisten-sectie en Stap 1 – Velero installeren met behulp van Helm respectievelijk. Het is belangrijk om dezelfde Helm Chart-versie te gebruiken.

velero restore create --from-backup all-cluster-backup

Tenslotte, herstel alles door het volgende commando uit te voeren:

Controleer de staat van DOKS Cluster-applicaties

velero restore describe all-cluster-backup-<timestamp>

Eerst, controleer de Fase-regel van de uitvoer van het commando beschrijf herstel all-cluster-backup. (Vervang de placeholders <> dienovereenkomstig). Het zou Voltooid moeten zeggen.

kubectl get all --all-namespaces

Controleer nu alle clusterresources door het volgende commando uit te voeren:

curl -Li http://quote.starter-kit.online/quote/

curl -Li http://echo.starter-kit.online/echo/

Nu zouden de backend-applicaties ook moeten reageren op HTTP-verzoeken. Raadpleeg Het maken van de Ambassador Edge Stack Backend-services met betrekking tot de backend-applicaties die worden gebruikt in de Starter Kit-zelfstudie.

In de volgende stap leer je hoe je geplande (of automatische) back-ups kunt uitvoeren voor je DOKS-clusterapplicaties.

Stap 4 – Geplande back-ups

Automatisch back-ups maken op basis van een schema is een zeer nuttige functie. Het stelt je in staat om terug te gaan in de tijd en het systeem te herstellen naar een vorig werkende staat als er iets misgaat.

Het maken van een geplande back-up is een zeer eenvoudig proces. Hieronder wordt een voorbeeld gegeven voor een interval van 1 minuut (het kube-system-namespace is gekozen).

velero schedule create kube-system-minute-backup --schedule="@every 1m" --include-namespaces kube-system

Ten eerste, maak het schema aan:

schedule="*/1 * * * *"

Ook wordt het Linux-cronjob-formaat ondersteund:

velero schedule get

Vervolgens, controleer of het schema is aangemaakt:

NAME                        STATUS    CREATED                          SCHEDULE    BACKUP TTL   LAST BACKUP   SELECTOR
kube-system-minute-backup   Enabled   2021-08-26 12:37:44 +0300 EEST   @every 1m   720h0m0s     32s ago       <none>

De uitvoer ziet er vergelijkbaar uit met:

velero backup get

Vervolgens, inspecteer alle back-ups na ongeveer een minuut:

NAME                                       STATUS      ERRORS   WARNINGS   CREATED                          EXPIRES   STORAGE LOCATION   SELECTOR
kube-system-minute-backup-20210826093916   Completed   0        0          2021-08-26 12:39:20 +0300 EEST   29d       default            <none>
kube-system-minute-backup-20210826093744   Completed   0        0          2021-08-26 12:37:44 +0300 EEST   29d       default            <none>

De uitvoer ziet er vergelijkbaar uit met:

Verifiëren van de status van de geplande back-up

velero backup describe kube-system-minute-backup-<timestamp>

Controleer eerst de regel Fase van een van de back-ups (vervang de <>-placeholders dienovereenkomstig). Het zou moeten zeggen Voltooid.

Het Herstellen van de Geplande Back-up

Om back-ups van een minuut geleden te herstellen, volg dezelfde stappen als die je hebt geleerd in de vorige stappen van deze tutorial. Dit is een goede manier om je tot nu toe opgebouwde ervaring te oefenen en te testen.

In de volgende stap leer je hoe je specifieke back-ups die je in de loop van de tijd hebt gemaakt, handmatig of automatisch kunt verwijderen.

Stap 5 – Back-ups Verwijderen

Als je oudere back-ups niet nodig hebt, kun je wat middelen vrijmaken zowel op de Kubernetes-cluster als op de Velero DO Spaces-bucket.

Handmatig een Back-up Verwijderen

velero backup delete kube-system-minute-backup-<timestamp>

Kies eerst bijvoorbeeld een back-up van één minuut en geef het volgende commando uit (vervang alstublieft de plaatshouders <> dienovereenkomstig):

Nu, controleer dat het weg is uit de uitvoer van het velero backup get commando. Het zou ook verwijderd moeten zijn uit de DO Spaces bucket.

Vervolgens zul je meerdere back-ups tegelijk verwijderen door een selector te gebruiken. De velero backup delete subopdracht biedt een vlag genaamd --selector. Hiermee kun je meerdere back-ups tegelijk verwijderen op basis van Kubernetes-labels. Dezelfde regels gelden als voor Kubernetes Label Selectors.

velero backup get

Eerst, lijst de beschikbare back-ups op:

NAME                                       STATUS      ERRORS   WARNINGS   CREATED                          EXPIRES   STORAGE LOCATION   SELECTOR
ambassador-backup                          Completed   0        0          2021-08-25 19:33:03 +0300 EEST   23d       default            <none>
backend-minute-backup-20210826094116       Completed   0        0          2021-08-26 12:41:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826094016       Completed   0        0          2021-08-26 12:40:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826093916       Completed   0        0          2021-08-26 12:39:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826093816       Completed   0        0          2021-08-26 12:38:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826093716       Completed   0        0          2021-08-26 12:37:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826093616       Completed   0        0          2021-08-26 12:36:16 +0300 EEST   24d       default            <none>
backend-minute-backup-20210826093509       Completed   0        0          2021-08-26 12:35:09 +0300 EEST   24d       default            <none>

De uitvoer ziet er vergelijkbaar uit met:

velero describe backup backend-minute-backup-20210826094116

Vervolgens, zeg dat je alle backend-minute-backup-* assets wilt verwijderen. Kies een back-up uit de lijst en inspecteer de Labels:

Name:         backend-minute-backup-20210826094116
Namespace:    velero
Labels:       velero.io/schedule-name=backend-minute-backup
              velero.io/storage-location=default
Annotations:  velero.io/source-cluster-k8s-gitversion=v1.21.2
              velero.io/source-cluster-k8s-major-version=1
              velero.io/source-cluster-k8s-minor-version=21

Phase:  Completed

Errors:    0
Warnings:  0

Namespaces:
Included:  backend
Excluded:  <none>
...

De uitvoer ziet er vergelijkbaar uit (let op de waarde van het label velero.io/schedule-name):

velero backup delete --selector velero.io/schedule-name=backend-minute-backup

Vervolgens kun je alle back-ups verwijderen die overeenkomen met de waarde backend-minute-backup van het label velero.io/schedule-name:

Tenslotte, controleer dat alle backend-minute-backup-* assets zijn verdwenen uit de uitvoer van het velero backup get commando, evenals uit de DO Spaces bucket.

Automatische Back-upverwijdering via TTL

  • Wanneer u een back-up maakt, kunt u een TTL (Time To Live) specificeren door de --ttl vlag te gebruiken. Als Velero ziet dat een bestaande back-upbron is verlopen, verwijdert het:
  • De Backup bron
  • De back-up bestand van cloudobject opslag
  • Alle PersistentVolume snapshots

Alle bijbehorende Herstelpunten

De TTL-vlag stelt de gebruiker in staat de back-upretentieperiode te specificeren met de opgegeven waarde in uren, minuten en seconden in de vorm van --ttl 24u0m0s. Als niet gespecificeerd, wordt een standaard TTL-waarde van 30 dagen toegepast.

velero backup create ambassador-backup-3min-ttl --ttl 0h3m0s --include-namespaces ambassador

Eerst maakt u de ambassador back-up, met een TTL-waarde van 3 minuten:

velero backup describe ambassador-backup-3min-ttl

Vervolgens inspecteert u de ambassador back-up:

Name:         ambassador-backup-3min-ttl
Namespace:    velero
Labels:       velero.io/storage-location=default
Annotations:  velero.io/source-cluster-k8s-gitversion=v1.21.2
              velero.io/source-cluster-k8s-major-version=1
              velero.io/source-cluster-k8s-minor-version=21

Phase:  Completed

Errors:    0
Warnings:  0

Namespaces:
Included:  ambassador
Excluded:  <none>

Resources:
Included:        *
Excluded:        <none>
Cluster-scoped:  auto

Label selector:  <none>

Storage Location:  default

Velero-Native Snapshot PVs:  auto

TTL:  3m0s
...

A new folder should be created in the DO Spaces Velero bucket as well, named ambassador-backup-3min-ttl.

De uitvoer ziet er ongeveer zo uit (let op de Namespaces -> Inbegrepen sectie – deze moet ambassador weergeven, en het TTL veld is ingesteld op 3ms0):

Tenslotte, na ongeveer drie minuten, worden de back-up en bijbehorende bronnen automatisch verwijderd. U kunt controleren of het back-upobject is vernietigd met: velero backup beschrijving ambassador-backup-3min-ttl. Het zou moeten mislukken met een foutmelding waarin staat dat de back-up niet meer bestaat. De overeenkomstige ambassador-backup-3min-ttl map van de DO Spaces Velero-bucket wordt ook verwijderd.

velero backup delete --help

Ga verder en ontdek alle beschikbare velero back-up verwijderen opties, via:

Conclusie

In deze tutorial heb je geleerd hoe je eenmalige en geplande back-ups kunt uitvoeren en alles kunt herstellen. Het hebben van geplande back-ups is erg belangrijk omdat het je in staat stelt terug te keren naar een eerdere snapshot in de tijd als er iets misgaat. Je hebt ook een scenario voor het herstellen na een ramp doorgelopen.

Herstellen van volumes uit snapshots in Kubernetes-clusters

Source:
https://www.digitalocean.com/community/developer-center/how-to-backup-and-restore-data-of-a-doks-cluster-using-velero