Winkelwagen

/ .nl-domeinnaam

Jouw .nl voor slechts € 0,49.

Domeinnaam checken
E-mail

/ Hostingpakket keuzehulp

Weet je niet zeker welk hostingpakket de beste
keus is voor jouw website? Met onze keuzehulp
kom je er wel uit.

Direct naar de keuzehulp

/ OpenStack

/ Probeer Public Cloud uit

Gratis 1 maand aan de slag met Public Cloud?

Vraag proefperiode aan

/ TransIP Blog

CSM25: API security in een SaaS-wereld

Lees de blogpost
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Back-ups maken van je Kubernetes-cluster met Velero

    Met Velero maak en herstel je back-ups van Kubernetes-resources en persistent volumes in een Kubernetes-cluster. Velero bewaart de Kubernetes-resources en verplaatste snapshots naar S3-compatible object storage, zodat de back-up buiten het cluster beschikbaar blijft.

    In deze handleiding installeer je Velero met een Helm-chart. Je koppelt Velero aan TransIP's Object Store, schakelt CSI Snapshot Data Movement in en maakt en herstelt daarna een back-up.

    De beschreven configuratie gebruikt Velero 1.18.1, Helm-chart 12.1.0 en AWS-plugin 1.14.2. Gebruik versies die volgens de compatibility matrix van de AWS-plugin bij elkaar passen wanneer je een nieuwere versie installeert.

     

     

    Benodigdheden

     

    Voor deze handleiding heb je het volgende nodig:


     

    Velero installeren

     

    Stap 1

    Voeg de officiële Velero-repository aan Helm toe en werk de lokale repository-index bij:

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

    Controleer welke chart- en Velero-versies beschikbaar zijn:

    helm search repo vmware-tanzu/velero --versions

    Het argument --versions toont naast de nieuwste chart ook eerdere beschikbare versies.


     

    Stap 2

    Maak de namespace voor Velero:

    kubectl create namespace velero

     

    Stap 3

    Open een nieuw bestand voor de Object Store-credentials:

    nano credentials-velero

    Voeg de volgende inhoud toe. Vervang <access-key> en <secret-key> door de corresponderende gegevens van je Object Store:

    [default]
    aws_access_key_id=<access-key>
    aws_secret_access_key=<secret-key>

    Sla de wijzigingen op en sluit het bestand (ctrl + x > y > enter).

    Maak met dit bestand een Kubernetes Secret en verwijder daarna het lokale bestand:

    kubectl create secret generic velero-credentials --namespace velero --from-file=cloud=credentials-velero
    rm credentials-velero

    Het argument --namespace velero maakt de Secret in de Velero-namespace. Met --from-file=cloud=credentials-velero wordt de inhoud opgeslagen onder de key cloud, die de AWS-plugin verwacht.

    Behandel de access key en secret key als wachtwoorden. Deel het credentials-bestand niet en voeg het niet toe aan een Git-repository.

     

     

    Stap 4

    Open het bestand values.yaml:

    nano values.yaml

    Voeg de volgende configuratie toe. Vervang de waarden tussen punthaken door de naam van je Object Store-container en je persoonlijke S3-endpoint:

    image:
      tag: v1.18.1
    
    configuration:
      backupStorageLocation:
        - name: default
          provider: aws
          bucket: <containernaam>
          default: true
          credential:
            name: velero-credentials
            key: cloud
          config:
            region: EU
            s3ForcePathStyle: "true"
            s3Url: https://<persoonlijke-url>.objectstore.eu
      volumeSnapshotLocation:
        - name: default
          provider: csi
          config: {}
      defaultBackupStorageLocation: default
      defaultVolumeSnapshotLocation: default
      features: EnableCSI
      defaultSnapshotMoveData: true
    
    credentials:
      useSecret: true
      existingSecret: velero-credentials
    
    initContainers:
      - name: velero-plugin-for-aws
        image: velero/velero-plugin-for-aws:v1.14.2
        imagePullPolicy: IfNotPresent
        volumeMounts:
          - mountPath: /target
            name: plugins
    
    deployNodeAgent: true
    
    nodeAgent:
      disableHostPath: false
      containerSecurityContext:
        privileged: true
      resources:
        requests:
          cpu: 250m
          memory: 512Mi
        limits:
          cpu: 500m
          memory: 1Gi
    
    resources:
      requests:
        cpu: 500m
        memory: 512Mi
      limits:
        cpu: 1000m
        memory: 1Gi

    Sla de wijzigingen op en sluit het bestand (ctrl + x > y > enter).

    De AWS-plugin verbindt Velero met de S3-compatible Object Store. De node-agent verplaatst de data uit de CSI-snapshot naar Object Store en heeft daarvoor toegang tot de volumes op de Kubernetes-nodes nodig.


     

    Stap 5

    Installeer Velero met de waarden uit values.yaml:

    helm install velero vmware-tanzu/velero --version 12.1.0 --namespace velero --values values.yaml --wait

    De gebruikte argumenten hebben de volgende functie:

    • --version 12.1.0: installeert de chart-versie die Velero 1.18.1 bevat.
    • --namespace velero: installeert de resources in de namespace velero.
    • --values values.yaml: gebruikt de instellingen uit het opgegeven bestand.
    • --wait: wacht totdat de resources gereed zijn of de Helm-timeout verloopt.

     

    Stap 6

    Controleer de pods van de Velero-server en node-agent:

    kubectl get pods --namespace velero

    Het argument --namespace velero beperkt de uitvoer tot de Velero-namespace. Alle pods moeten de status ‘Running’ hebben. Controleer daarna de verbinding met Object Store:

    kubectl get backupstoragelocations --namespace velero

    De BackupStorageLocation ‘default’ moet de status ‘Available’ hebben. Bekijk bij een andere status de logs van Velero:

    kubectl logs deployment/velero --namespace velero

     

    De Velero-client installeren

     

    De Velero-client beheert back-ups en restores vanuit de command-line. Installeer een clientversie die overeenkomt met de serverversie.

     

    Stap 1

    Download en pak de Linux-versie voor AMD64 uit:

    curl -LO https://github.com/velero-io/velero/releases/download/v1.18.1/velero-v1.18.1-linux-amd64.tar.gz
    tar -xzf velero-v1.18.1-linux-amd64.tar.gz

    Bij curl volgt -L eventuele redirects en slaat -O het bestand onder de oorspronkelijke bestandsnaam op. Bij tar pakken -x, -z en -f het gzip-archief uit en geven ze aan welk bestand tar moet gebruiken.

    Gebruik je geen Linux-besturingssysteem of een andere processorarchitectuur dan amd64? Download dan het bijpassende bestand op de Velero-releasepagina.

     

     

    Stap 2

    Installeer de executable in /usr/local/bin:

    sudo install velero-v1.18.1-linux-amd64/velero /usr/local/bin/velero

     

    Stap 3

    Controleer de client- en serverversie:

    velero version

    De output moet zowel de client- als serverversie tonen.


     

    Een back-up maken

     

    Stap 1

    Maak een back-up van een namespace. Vervang de placeholders door een herkenbare back-upnaam en de namespace die je wilt back-uppen:

    velero backup create <back-upnaam> --include-namespaces <namespace> --snapshot-move-data --wait

    De gebruikte optionele argumenten hebben de volgende functie:

    • --include-namespaces: beperkt de back-up tot de opgegeven namespace. Laat dit argument weg om alle namespaces op te nemen.
    • --snapshot-move-data: verplaatst de data uit de CSI-snapshot naar Object Store. Deze instelling staat ook standaard aan in values.yaml, maar is hier expliciet opgenomen.
    • --wait: toont de voortgang totdat de back-up is afgerond. Met ctrl + c stop je alleen het wachten; de back-up gaat door.

     

    Stap 2

    Controleer de status en details van de back-up:

    velero backup get
    velero backup describe <back-upnaam> --details

    Het optionele argument --details toont aanvullende informatie over de opgenomen resources en volumes. Bekijk de logs wanneer de back-up niet de status ‘Completed’ krijgt:

    velero backup logs <back-upnaam>

     

    Een back-up herstellen

     

    Stap 1

    Herstel de resources en volumes uit een back-up. Gebruik een unieke naam voor de restore:

    velero restore create <restorenaam> --from-backup <back-upnaam> --wait

    De gebruikte optionele argumenten hebben de volgende functie:

    • --from-backup: selecteert de back-up die Velero herstelt.
    • --wait: toont de voortgang totdat de restore is afgerond. Met ctrl + c stop je alleen het wachten; de restore gaat door.

     

    Stap 2

    Controleer de status en details van de restore:

    velero restore get
    velero restore describe <restorenaam> --details

    Bekijk de logs wanneer de restore niet de status ‘Completed’ krijgt:

    velero restore logs <restorenaam>

    Controleer na een geslaagde restore ook of de applicatie werkt en de verwachte data op de persistent volumes aanwezig is.


     

    Je hebt Velero met Helm in Kubernetes geïnstalleerd en gekoppeld aan TransIP's Object Store. Velero kan nu Kubernetes-resources en data uit CSI-snapshots back-uppen en herstellen.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op