How to use the command 'velero' (with examples)
Velero is a command-line tool used for backup and migration of Kubernetes applications and their persistent volumes. It provides a simple and efficient way to create backups, list backups, delete backups, and restore applications from backups. In this article, we will explore each of these use cases of the velero
command, along with their respective examples.
Use case 1: Create a backup containing all resources
Code:
velero backup create backup_name
Motivation:
Creating backups is crucial for ensuring the safety and availability of Kubernetes applications and their associated resources. By creating a backup using the velero backup create
command, you can easily capture the state of all your resources and restore them if needed.
Explanation:
velero backup create
: The base command to create a backup.backup_name
: The name of the backup you want to create. Replace it with a desired name for your backup.
Example output:
Backup request "backup_name" submitted successfully.
Use case 2: List all backups
Code:
velero backup get
Motivation:
Listing all the backups gives you an overview of the available backups and their associated details. This information can be helpful for managing and organizing your backups effectively.
Explanation:
velero backup get
: The command to retrieve the list of all backups.
Example output:
NAME STATUS CREATED EXPIRES STORAGE LOCATION SELECTOR
backup_name Completed 2022-01-01 10:00:00 +0000 UTC 30d default <none>
Use case 3: Delete a backup
Code:
velero backup delete backup_name
Motivation:
Deleting a backup is necessary when you no longer need a specific backup or want to free up storage space. Velero allows you to easily delete backups using the velero backup delete
command.
Explanation:
velero backup delete
: The command to delete a specific backup.backup_name
: The name of the backup you want to delete. Replace it with the actual name of the backup you want to remove.
Example output:
Backup "backup_name" deleted successfully.
Use case 4: Create a weekly backup, each living for 90 days (2160 hours)
Code:
velero schedule create schedule_name --schedule="@every 7d" --ttl 2160h0m0s
Motivation:
Automatically creating backups on a regular basis simplifies the process of ensuring data integrity and disaster recovery. The velero schedule create
command enables you to define a recurring backup schedule according to your requirements.
Explanation:
velero schedule create
: The command to create a backup schedule.schedule_name
: The desired name for the backup schedule.--schedule="@every 7d"
: Specifies the time interval for creating backups. In this example, backups will be created every 7 days.--ttl 2160h0m0s
: Sets the time-to-live (TTL) for backups. This determines how long backups will be retained before being automatically deleted. In this case, backups will live for 90 days (2160 hours).
Example output:
Schedule "schedule_name" created successfully.
Use case 5: Create a restore from the latest successful backup triggered by specific schedule
Code:
velero restore create --from-schedule schedule_name
Motivation:
Restoring applications from backups is essential for recovering from potential data loss or system failures. With the velero restore create
command, you can easily initiate a restore process using the most recent successful backup triggered by a specific schedule.
Explanation:
velero restore create
: The command to create a restore from a backup.--from-schedule schedule_name
: Specifies the schedule name from which the restore should be performed.
Example output:
Restore request for schedule_name submitted successfully.
Conclusion
The velero
command provides a comprehensive set of functionalities for creating backups, listing backups, deleting backups, and restoring applications from backups. By utilizing these commands effectively, you can ensure the safety and availability of your Kubernetes applications and their associated resources.