【k8s】velero数据备份与恢复时的资源过滤(指定ns/资源/label)------翻译

好久不写博客了,一是忙,二是懒。工作日忙,周末懒。
写博客是个好习惯,要坚持。
最近在研究k8s数据备份与还原以及集群迁移相关的东西,翻译一篇velero的文档。


Resource filtering 资源过滤

按名称空间、类型或标签过滤对象。
本文介绍如何将包含和排除标志与 velero backupvelero restore 命令一起使用。
默认情况下,当不使用过滤选项时,Velero 会将所有对象包含在备份或还原中。

当同时包含通配符和特定资源时,通配符优先。

Includes 包含

通过include选项使得备份或恢复仅包括特定资源,排除所有其他资源(没被指定的其他资源)。

  1. namespace
  2. resource
  3. cluster-resource
  4. selector

include-namespaces

指定要备份或恢复的namespace,默认为*,即全部的namespace。

备份namespace中的资源
velero backup create <backup-name> --include-namespaces <namespace>
恢复两个命名空间及其对象
velero restore create <restore-name> --include-namespaces <namespace1>,<namespace2> --from-backup <backup-name>

include-resources

要包含在备份中的 Kubernetes 资源,格式为 resource.group,例如 storageclasses.storage.k8s.io(使用 * 表示所有资源)。

备份集群中的所有deployment
velero backup create <backup-name> --include-resources deployments
恢复集群中的所有deployment和configmap
velero restore create <restore-name> --include-resources deployments,configmaps --from-backup <backup-name>
备份某个namespace中的deployment
velero backup create <backup-name> --include-resources deployments --include-namespaces <namespace>

这个例子是同时指定了--include-namespaces参数和--include-resources参数.

include-cluster-resources

包括集群范围的资源。此选项可以具有三个可能的值:

  1. true: 包括所有集群范围的资源。
  2. false: 不包括集群范围的资源。
  3. nil (auto或不指定):
    3.1 备份或恢复所有命名空间时包括集群范围的资源。默认值:true。
    3.2 使用命名空间过滤时,不包括集群范围的资源。默认值:false。就是说,如果指定了命名空间但是没指定这个参数,那么这个参数的值就是false。
备份整个集群,包括集群范围的资源
velero backup create <backup-name>
仅恢复集群中的命名空间资源
velero restore create <restore-name> --include-cluster-resources=false --from-backup <backup-name>
备份命名空间并包含集群范围的资源
velero backup create <backup-name> --include-namespaces <namespace> --include-cluster-resources=true

selector

标签选择器让备份和恢复的资源粒度更加细,备份和恢复也更加灵活。

包括与标签选择器匹配的资源
velero backup create <backup-name> --selector <key>=<value>
包含与选择器不匹配的资源
velero backup create <backup-name> --selector <key>!=<value>

Excludes 排除

从备份中排除特定资源。

exclude-namespaces

要排除的namespace

从集群备份中排除 kube-system
velero backup create <backup-name> --exclude-namespaces kube-system
在还原期间排除两个命名空间
velero restore create <restore-name> --exclude-namespaces <namespace1>,<namespace2> --from-backup <backup-name>

exclude-resources

排除资源
要排除的Kubernetes资源,格式为resource.group,如storageclasses.storage.k8s.io。

从备份中排除secrets
velero backup create <backup-name> --exclude-resources secrets
排除secrets和rolebindings
velero backup create <backup-name> --exclude-resources secrets,rolebindings

velero.io/exclude-from-backup=true

带有标签 velero.io/exclude-from-backup=true 的资源不包含在备份中,即使它包含匹配的选择器标签。
也就是说,如果一个资源包含velero.io/exclude-from-backup标签并且值为true,那么即使这个资源包含标签选择器对应的标签,也不会被备份。

总结

资源的备份和恢复可以使用多个选项组合实现灵活备份与恢复。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Velero是一个开源的备份恢复工具,用于在Kubernetes集群中进行应用程序和数据备份和迁移。 在Velero中,--uploader-type是一个命令行选项,用于指定备份的上传器类型。备份上传器是负责将Velero创建的备份文件传输或存储到指定位置的组件。 Velero支持多种备份上传器类型,包括: 1. azure:将备份文件上传到Azure Blob存储。 2. gcp:将备份文件上传到Google Cloud Storage。 3. s3:将备份文件上传到Amazon S3存储桶。 4. restic:使用restic工具进行备份文件的存储和管理。 5. volumeSnapshot:使用Kubernetes的卷快照功能进行备份恢复。 使用--uploader-type选项,可以根据需求选择合适的备份上传器类型。例如,如果有一个Azure Blob存储账户可以用于备份存储,可以指定--uploader-type=azure来使用Azure Blob上传器。每种上传器类型都有自己特定的配置和要求,需要提供相应的认证凭据和配置信息。 通过指定适当的--uploader-type,Velero能够将备份数据安全地存储到受信任的云存储提供商或其他指定位置,以便在需要进行恢复并迁移应用程序和数据。 总而言之,--uploader-type是Velero的一个选项,用于选择备份上传器类型,以指定备份数据的存储位置和方式。根据不同的需求和环境,可以选择使用Azure Blob、Google Cloud Storage、Amazon S3等不同的上传器类型来实现备份的上传功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值