SlideShare a Scribd company logo
1 of 13
Download to read offline
Kubernetes Backup and Migration
Strategies with Velero
AGENDA
Use Cases Velero
Velero Components
Backup/Restore Data
Generic Workflow
Demo
Disaster Recovery
Data Migration
Conclusions
DISASTER
RECOVERY
DATA
INTEGRITY
DATA
MIGRATION
USE CASES
K8S BACKUP & MIGRATION STRATEGIES WITH VELERO
VELERO CLI
KUBERNETES CLUSTER
RESTIC
DAEMONSET
VELERO SERVER
CONTROLLER
VELERO
COMPONENTS
DATA
Kubernetes API Discovery
Backups in cloud object storage
ETCD
Cloud Provider Snapshot APIs
Agnostic File System level
backups (Restic)
PERSISTENT VOLUMES
DATA
Schedule backups
Filtering by multiple fields
FLEXIBILITY
Plugins
Hooks
EXTENSIBILITY
Using the Velero CLI, the user creates a Backup
custom resource using the Kubernetes API. The
instruction accept filtering by namespace, resource or
labelling, for instance `velero backup create cluster
--include-namespace ghost --wait`.
01
The Velero Controller notice about the new Backup
resource and validated the command.
The Velero Controller starts the backup process. It
queries the Kubernetes API to backup the resources.
The Velero Controller push the backup file to a cloud
object storage. Besides, it creates snapshots using
the cloud Snapshot API of any existing PV. The
backup process finished after upload the file to the
cloud object storage.
Using the Velero CLI, the user creates a
Restore custom restore using the Kubernetes
API. The instruction accept filtering by
namespace, resource or labelling, for instance
to restore from the sample above `velero
restore create --from-backup cluster
--include-namespace ghost`.
The Velero Controller notices about the new
Restore resource, validates the command and
start pulling the data from the cloud object
storage.
02
03
04
05 06
The Velero Controller restores the resources
querying the Kubernetes API to restore the
resources. The restore process finished after
deploying the pull data to the Kubernetes API.
07
01
KUBERNETES CLUSTER
VELERO WORKFLOW
GENERIC DIAGRAM
CREATE BACKUP
RESOURCE LIST RESOURCES PUSH BACKUP DATA
BACKUP
PULL BACKUP DATA
04
05
RESTORE
02
CREATE RESTORE
RESOURCE RESTORE RESOURCES
KUBERNETES CLUSTER
api
07
api
VELERO SERVER
CONTROLLER
03
VELERO SERVER
CONTROLLER
06
DEMO
VELERO WORKFLOW
DISASTER RECOVERY
Using the Velero CLI, the user creates a Backup custom
resource on EKS Cluster 1 using the Kubernetes API. The
instruction accept filtering by namespace, resource or
labelling, for instance `velero backup create cluster1
--include-namespace ghost --wait`.
01
The Velero Controller notice about the new Backup
resource and validated the command.
The Velero Controller starts the backup process. It
queries the Kubernetes API to backup the resources.
The Velero Controller push the backup file to a cloud
object storage. Besides, it creates snapshots using
the cloud Snapshot API of any existing PV. The
backup process finished after upload the file to the
cloud object storage.
Using the Velero CLI, the user creates a
Restore custom restore on EKS Cluster 2 using
the Kubernetes API. The instruction accept
filtering by namespace, resource or labelling,
for instance to restore from the sample above
`velero restore create --from-backup cluster1
--include-namespace ghost`.
The Velero Controller notices about the new
Restore resource, validates the command and start
pulling the data from the cloud object storage.
02
03
04
05 06
The Velero Controller restores the resources
querying the Kubernetes API to restore the
resources. The restore process finished after
deploying the pull data to the Kubernetes API. Data
from cluster1 has been recovered on cluster2.
07
01
05
BACKUP
RESTORE
EKS KUBERNETES CLUSTER 1
CREATE BACKUP
RESOURCE LIST RESOURCES PUSH BACKUP DATA
PULL BACKUP DATA
04
02
CREATE RESTORE
RESOURCE RESTORE RESOURCES
EKS KUBERNETES CLUSTER 2
api
07
api
VELERO SERVER
CONTROLLER
03
VELERO SERVER
CONTROLLER
06
VELERO WORKFLOW
DATA MIGRATION
Using the Velero CLI, the user creates a Backup custom
resource on EKS Cluster2 using the Kubernetes API.
The instruction accept filtering by namespace, resource
or labelling, for instance `velero backup create cluster2
--include-namespace ghost --wait`.
01
The Velero Controller notice about the new Backup
resource and validated the command.
The Velero Controller starts the backup process. It
queries the Kubernetes API to backup the resources.
Velero ensures a restic repository exists for the pod's
namespace. Velero creates a PodVolumeBackup
custom resource per volume listed in the pod
annotation. The main Velero process waits for the
PodVolumeBackup resources to complete or fail.
The Velero Controller push the backup file to a cloud
object storage. This file would be used for restores.
Using the Velero CLI, the user creates a
Restore custom restore on GKE cluster3 using
the Kubernetes API. The instruction accept
filtering by namespace, resource or labelling,
for instance to restore from the sample above
`velero restore create --from-backup cluster2
--include-namespace ghost`.
The Velero Controller notices about the new Restore
resource, validates the command and start pulling the
data from the cloud object storage. Velero creates a
PodVolumeRestore custom resource for each volume
to be restored in the pod.
02
03 04
05
06
The Velero Controller waits for each PodVolumeRestore
resource to complete or fail. It restores the resources
querying the Kubernetes API to restore the resources.
The restore process finished after deploying the pull data
to the Kubernetes API.
07
01
05
BACKUP
RESTORE
EKS KUBERNETES CLUSTER 2
CREATE BACKUP
RESOURCE PUSH BACKUP DATA
PULL BACKUP DATA
04
02
CREATE RESTORE
RESOURCE RESTORE RESOURCES
GKE KUBERNETES CLUSTER 3
api
07
api
VELERO SERVER
CONTROLLER
03
RESTIC
DAEMONSET
VELERO SERVER
CONTROLLER
06
RESTIC
DAEMONSET
SHOWTIME
DISASTER
RECOVERY
DATA
INTEGRITY
DATA
MIGRATION
CONCLUSIONS
K8S BACKUP & MIGRATION STRATEGIES WITH VELERO
ramiroalvfer.dev
github.com/empathyco/platform-velero-showcases
Get more info in

More Related Content

Similar to Kubernetes Backup and Migration Strategies with Velero | Ramiro Alvarez Fernandez

aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
WaseemShare
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptx
BaskarKannanK
 
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
Principled Technologies
 

Similar to Kubernetes Backup and Migration Strategies with Velero | Ramiro Alvarez Fernandez (20)

Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
 
A brief study on Kubernetes and its components
A brief study on Kubernetes and its componentsA brief study on Kubernetes and its components
A brief study on Kubernetes and its components
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Setting up MySQL Replication Cluster in Kubernetes
Setting up MySQL Replication Cluster in KubernetesSetting up MySQL Replication Cluster in Kubernetes
Setting up MySQL Replication Cluster in Kubernetes
 
Open Stack compute-service-nova
Open Stack compute-service-novaOpen Stack compute-service-nova
Open Stack compute-service-nova
 
Kubernetes Immersion
Kubernetes ImmersionKubernetes Immersion
Kubernetes Immersion
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Velero search & practice 20210609
Velero search & practice 20210609Velero search & practice 20210609
Velero search & practice 20210609
 
Kubernetes From Scratch .pdf
Kubernetes From Scratch .pdfKubernetes From Scratch .pdf
Kubernetes From Scratch .pdf
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and Prometheus
 
aks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptxaks_training_document_Azure_kuberne.pptx
aks_training_document_Azure_kuberne.pptx
 
kubernetesforbeginners.pptx
kubernetesforbeginners.pptxkubernetesforbeginners.pptx
kubernetesforbeginners.pptx
 
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
 
Appsecco Kubernetes Hacking Masterclass Presentation Slides
Appsecco Kubernetes Hacking Masterclass Presentation SlidesAppsecco Kubernetes Hacking Masterclass Presentation Slides
Appsecco Kubernetes Hacking Masterclass Presentation Slides
 
Kubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQLKubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQL
 
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
Veritas NetBackup 7.6 benchmark comparison: Data protection in a large-scale ...
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
 
Fiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environmentFiware cloud capabilities_and_setting_up_your_environment
Fiware cloud capabilities_and_setting_up_your_environment
 
Gianluca Arbezzano Wordpress: gestione delle installazioni e scalabilità con ...
Gianluca Arbezzano Wordpress: gestione delle installazioni e scalabilità con ...Gianluca Arbezzano Wordpress: gestione delle installazioni e scalabilità con ...
Gianluca Arbezzano Wordpress: gestione delle installazioni e scalabilità con ...
 

More from KCDItaly

More from KCDItaly (7)

OMG Namespaces! | Raffaele Di Fazio
OMG Namespaces! | Raffaele Di FazioOMG Namespaces! | Raffaele Di Fazio
OMG Namespaces! | Raffaele Di Fazio
 
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò RaspaTu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
Tu non puoi passare! Policy compliance con OPA Gatekeeper | Niccolò Raspa
 
Kubernetes Policy As Code usando WebAssembly | Flavio Castelli
Kubernetes Policy As Code usando WebAssembly | Flavio CastelliKubernetes Policy As Code usando WebAssembly | Flavio Castelli
Kubernetes Policy As Code usando WebAssembly | Flavio Castelli
 
kube-green | Davide Bianchi
kube-green | Davide Bianchikube-green | Davide Bianchi
kube-green | Davide Bianchi
 
Cloud Native resiliency patterns from the ground up | Ana-Maria Mihalceanu
Cloud Native resiliency patterns from the ground up | Ana-Maria MihalceanuCloud Native resiliency patterns from the ground up | Ana-Maria Mihalceanu
Cloud Native resiliency patterns from the ground up | Ana-Maria Mihalceanu
 
Knative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre RomanKnative goes
 beyond serverless | Alexandre Roman
Knative goes
 beyond serverless | Alexandre Roman
 
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
Multi-Clusters Made Easy with Liqo:
Getting Rid of Your Clusters Keeping Them...
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Kubernetes Backup and Migration Strategies with Velero | Ramiro Alvarez Fernandez

  • 1. Kubernetes Backup and Migration Strategies with Velero
  • 2. AGENDA Use Cases Velero Velero Components Backup/Restore Data Generic Workflow Demo Disaster Recovery Data Migration Conclusions
  • 4. VELERO CLI KUBERNETES CLUSTER RESTIC DAEMONSET VELERO SERVER CONTROLLER VELERO COMPONENTS
  • 5. DATA Kubernetes API Discovery Backups in cloud object storage ETCD Cloud Provider Snapshot APIs Agnostic File System level backups (Restic) PERSISTENT VOLUMES
  • 6. DATA Schedule backups Filtering by multiple fields FLEXIBILITY Plugins Hooks EXTENSIBILITY
  • 7. Using the Velero CLI, the user creates a Backup custom resource using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance `velero backup create cluster --include-namespace ghost --wait`. 01 The Velero Controller notice about the new Backup resource and validated the command. The Velero Controller starts the backup process. It queries the Kubernetes API to backup the resources. The Velero Controller push the backup file to a cloud object storage. Besides, it creates snapshots using the cloud Snapshot API of any existing PV. The backup process finished after upload the file to the cloud object storage. Using the Velero CLI, the user creates a Restore custom restore using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance to restore from the sample above `velero restore create --from-backup cluster --include-namespace ghost`. The Velero Controller notices about the new Restore resource, validates the command and start pulling the data from the cloud object storage. 02 03 04 05 06 The Velero Controller restores the resources querying the Kubernetes API to restore the resources. The restore process finished after deploying the pull data to the Kubernetes API. 07 01 KUBERNETES CLUSTER VELERO WORKFLOW GENERIC DIAGRAM CREATE BACKUP RESOURCE LIST RESOURCES PUSH BACKUP DATA BACKUP PULL BACKUP DATA 04 05 RESTORE 02 CREATE RESTORE RESOURCE RESTORE RESOURCES KUBERNETES CLUSTER api 07 api VELERO SERVER CONTROLLER 03 VELERO SERVER CONTROLLER 06
  • 9. VELERO WORKFLOW DISASTER RECOVERY Using the Velero CLI, the user creates a Backup custom resource on EKS Cluster 1 using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance `velero backup create cluster1 --include-namespace ghost --wait`. 01 The Velero Controller notice about the new Backup resource and validated the command. The Velero Controller starts the backup process. It queries the Kubernetes API to backup the resources. The Velero Controller push the backup file to a cloud object storage. Besides, it creates snapshots using the cloud Snapshot API of any existing PV. The backup process finished after upload the file to the cloud object storage. Using the Velero CLI, the user creates a Restore custom restore on EKS Cluster 2 using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance to restore from the sample above `velero restore create --from-backup cluster1 --include-namespace ghost`. The Velero Controller notices about the new Restore resource, validates the command and start pulling the data from the cloud object storage. 02 03 04 05 06 The Velero Controller restores the resources querying the Kubernetes API to restore the resources. The restore process finished after deploying the pull data to the Kubernetes API. Data from cluster1 has been recovered on cluster2. 07 01 05 BACKUP RESTORE EKS KUBERNETES CLUSTER 1 CREATE BACKUP RESOURCE LIST RESOURCES PUSH BACKUP DATA PULL BACKUP DATA 04 02 CREATE RESTORE RESOURCE RESTORE RESOURCES EKS KUBERNETES CLUSTER 2 api 07 api VELERO SERVER CONTROLLER 03 VELERO SERVER CONTROLLER 06
  • 10. VELERO WORKFLOW DATA MIGRATION Using the Velero CLI, the user creates a Backup custom resource on EKS Cluster2 using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance `velero backup create cluster2 --include-namespace ghost --wait`. 01 The Velero Controller notice about the new Backup resource and validated the command. The Velero Controller starts the backup process. It queries the Kubernetes API to backup the resources. Velero ensures a restic repository exists for the pod's namespace. Velero creates a PodVolumeBackup custom resource per volume listed in the pod annotation. The main Velero process waits for the PodVolumeBackup resources to complete or fail. The Velero Controller push the backup file to a cloud object storage. This file would be used for restores. Using the Velero CLI, the user creates a Restore custom restore on GKE cluster3 using the Kubernetes API. The instruction accept filtering by namespace, resource or labelling, for instance to restore from the sample above `velero restore create --from-backup cluster2 --include-namespace ghost`. The Velero Controller notices about the new Restore resource, validates the command and start pulling the data from the cloud object storage. Velero creates a PodVolumeRestore custom resource for each volume to be restored in the pod. 02 03 04 05 06 The Velero Controller waits for each PodVolumeRestore resource to complete or fail. It restores the resources querying the Kubernetes API to restore the resources. The restore process finished after deploying the pull data to the Kubernetes API. 07 01 05 BACKUP RESTORE EKS KUBERNETES CLUSTER 2 CREATE BACKUP RESOURCE PUSH BACKUP DATA PULL BACKUP DATA 04 02 CREATE RESTORE RESOURCE RESTORE RESOURCES GKE KUBERNETES CLUSTER 3 api 07 api VELERO SERVER CONTROLLER 03 RESTIC DAEMONSET VELERO SERVER CONTROLLER 06 RESTIC DAEMONSET