名称: k8s-backup
描述: 使用 Velero 进行 Kubernetes 备份与恢复。适用于创建备份、恢复应用、管理灾难恢复或在集群间迁移工作负载。
利用 kubectl-mcp-server 的 Velero 工具管理备份与恢复。
# 检测 Velero
velero_detect_tool()
# 列出备份存储位置
velero_backup_locations_list_tool()
# 备份整个命名空间
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"]
)
# 设置生存时间(TTL)的备份
velero_backup_create_tool(
name="daily-backup",
namespaces=["production"],
ttl="720h" # 30 天
)
# 列出所有备份
velero_backups_list_tool()
# 获取备份详细信息
velero_backup_get_tool(name="my-backup")
# 备份状态说明
# - New: 备份请求已创建
# - InProgress: 备份进行中
# - Completed: 备份成功
# - Failed: 备份失败
# - PartiallyFailed: 部分资源备份失败
# 完全恢复
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"]
)
# 列出恢复任务
velero_restores_list_tool()
# 获取恢复任务详情
velero_restore_get_tool(name="my-restore")
# 列出定时备份计划
velero_schedules_list_tool()
# 获取定时计划详情
velero_schedule_get_tool(name="daily-backup")
# 创建定时备份计划(通过 kubectl)
kubectl_apply(manifest="""
apiVersion: velero.io/v1
kind: Schedule
**元数据:**
name: daily-backup
namespace: velero
spec:
schedule: "0 2 * * *" # 每天凌晨 2 点
template:
includedNamespaces:
- production
ttl: 720h
""")
1. velero_backup_create_tool(
name="dr-backup-$(date)",
namespaces=["production"]
)
2. velero_backup_get_tool(name="dr-backup-...") # 等待备份完成
1. velero_detect_tool() # 确认 Velero 已安装
2. velero_backups_list_tool() # 查找备份
3. velero_restore_create_tool(
name="dr-restore",
backup_name="dr-backup-..."
)
4. velero_restore_get_tool(name="dr-restore") # 监控恢复过程