Kubernetes Backup with Velero
Manage backups and restores using kubectl-mcp-server's Velero tools.
When to Apply
Use this skill when:
-
User mentions: "backup", "restore", "Velero", "disaster recovery", "DR"
-
Operations: creating backups, restoring namespaces, migration
-
Keywords: "protect", "recover", "migrate", "snapshot"
Priority Rules
Priority Rule Impact Tools
1 Verify Velero installation first CRITICAL velero_detect_tool
2 Check backup location before create HIGH velero_backup_locations_list_tool
3 Wait for backup completion HIGH velero_backup_get_tool
4 Test restores to non-prod first MEDIUM velero_restore_create_tool
Quick Reference
Task Tool Example
Detect Velero velero_detect_tool
velero_detect_tool()
List backups velero_backups_list_tool
velero_backups_list_tool()
Create backup velero_backup_create_tool
velero_backup_create_tool(name, namespaces)
Restore velero_restore_create_tool
velero_restore_create_tool(name, backup_name)
Check Velero Installation
velero_detect_tool()
velero_backup_locations_list_tool()
Create Backups
velero_backup_create_tool( name="my-backup", namespaces=["default", "app-namespace"] )
velero_backup_create_tool( name="app-backup", namespaces=["default"], label_selector="app=my-app" )
velero_backup_create_tool( name="config-backup", namespaces=["default"], exclude_resources=["pods", "replicasets"] )
velero_backup_create_tool( name="daily-backup", namespaces=["production"], ttl="720h" )
List and Describe Backups
velero_backups_list_tool()
velero_backup_get_tool(name="my-backup")
Restore from Backup
velero_restore_create_tool( name="my-restore", backup_name="my-backup" )
velero_restore_create_tool( name="my-restore", backup_name="my-backup", namespace_mappings={"old-ns": "new-ns"} )
velero_restore_create_tool( name="config-restore", backup_name="my-backup", include_resources=["configmaps", "secrets"] )
velero_restore_create_tool( name="partial-restore", backup_name="my-backup", exclude_resources=["persistentvolumeclaims"] )
List and Monitor Restores
velero_restores_list_tool()
velero_restore_get_tool(name="my-restore")
Scheduled Backups
velero_schedules_list_tool()
velero_schedule_get_tool(name="daily-backup")
kubectl_apply(manifest=""" apiVersion: velero.io/v1 kind: Schedule metadata: name: daily-backup namespace: velero spec: schedule: "0 2 * * *" template: includedNamespaces: - production ttl: 720h """)
Disaster Recovery Workflow
Create DR Backup
from datetime import datetime
velero_backup_create_tool( name=f"dr-backup-{datetime.now().strftime('%Y%m%d-%H%M%S')}", namespaces=["production"] ) velero_backup_get_tool(name="dr-backup-20260130-120000")
Restore to New Cluster
velero_detect_tool() velero_backups_list_tool() velero_restore_create_tool( name="dr-restore", backup_name="dr-backup-..." ) velero_restore_get_tool(name="dr-restore")
Prerequisites
- Velero: Required for all backup tools velero install --provider aws --bucket my-bucket --secret-file ./credentials
Related Skills
-
k8s-multicluster - Multi-cluster operations
-
k8s-incident - Incident response