通过在 Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件,可以使用 适用于 vSphere 的 Velero 插件 备份和还原该集群上运行的工作负载。

概览

适用于 vSphere 的 Velero 插件 提供了备份和还原 Tanzu Kubernetes 集群工作负载的解决方案,用于为 Tanzu Kubernetes Grid 服务 置备的集群备份和还原工作负载。对于持久工作负载, 适用于 vSphere 的 Velero 插件 可用于生成持久卷的快照。
注: 如果要求备份和还原的 Tanzu Kubernetes 集群工作负载具备可移植性,请勿使用 适用于 vSphere 的 Velero 插件。为了实现跨 Kubernetes 集群的可移植性,请将独立 Velero 与 Restic 结合使用。请参见 在 Tanzu Kubernetes 集群上安装和配置独立 Velero 和 Restic

必备条件:在 主管集群 上安装 适用于 vSphere 的 Velero 插件

Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件 要求 主管集群 已安装 适用于 vSphere 的 Velero 插件。此外,必须为 主管集群 配置 NSX-T 网络连接。

Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件 之前,必须首先在 主管集群 上安装 适用于 vSphere 的 Velero 插件。请参见在 主管集群 上安装并配置 适用于 vSphere 的 Velero 插件

在 Linux Workstation 上安装 Velero CLI

Velero CLI 是与 Velero 交互的标准工具。Velero CLI 提供的功能比 适用于 vSphere 的 Velero 插件 CLI (velero-vsphere) 多,是备份和还原 Tanzu Kubernetes 集群工作负载所必需的。

在 Linux 工作站上安装 Velero CLI。理想情况下,这是为 vSphere with Tanzu 环境运行关联的 CLI 的同一跳转主机,包括 kubectlkubectl-vspherevelero-vsphere

完成以下步骤以安装 Velero CLI。
  1. 从 VMware 产品下载页面下载 Velero CLI 的受支持版本。有关受支持的 Velero 版本的详细信息,请参见发行说明
  2. 打开命令行并将目录更改为 Velero CLI 下载。
    gunzip velero-linux-v1.x.x_vmware.1.gz
  3. 检查 Velero 二进制文件。
    ls -l
    
    -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
    
  4. 向 Velero CLI 授予执行权限。
    chmod +x velero-linux-v1.x.x_vmware.1
  5. 将 Velero CLI 移至系统路径,使其全局可用。
    cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
  6. 验证 Velero CLI 的安装。
    velero version
    
    Client:
        Version: v1.x.x

获取与 S3 兼容的存储桶详细信息

为方便起见,这些步骤假定使用在 主管集群 上安装 适用于 vSphere 的 Velero 插件 时配置的与 S3 兼容的相同对象存储。在生产环境中,可能需要创建单独的对象存储。

要安装 适用于 vSphere 的 Velero 插件,需要提供有关与 S3 兼容的对象存储的以下信息。
数据项 示例值
s3Url http://my-s3-store.example.com
aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
使用以下信息创建密钥文件名 s3-credentials。安装 适用于 vSphere 的 Velero 插件 时将引用此文件。
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件

将使用 Velero CLI 在要备份和还原的目标 Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件

Velero CLI 上下文将自动跟随 kubectl 上下文。在运行 Velero CLI 命令以在目标集群上安装 Velero 和 适用于 vSphere 的 Velero 插件 之前,请务必将 kubectl 上下文设置为目标集群。
  1. 使用 kubectl 的 vSphere 插件主管集群 进行身份验证。请参见以 vCenter Single Sign-On 用户的身份连接到 主管集群
  2. kubectl 上下文设置为目标 Tanzu Kubernetes 集群。
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. 运行以下 Velero CLI 命令以在目标集群上安装 Velero。

    使用相应的值替换 BUCKET-NAME REGION(两个实例)和 s3Url 字段的占位符值。如果偏离上述任何说明,请同时调整这些值,例如密钥文件的名称或位置,手动创建的 velero 命名空间的名称等。

    ./velero install --provider aws \
    --bucket BUCKET-NAME \
    --secret-file ./s3-credentials \
    --features=EnableVSphereItemActionPlugin \
    --plugins velero/velero-plugin-for-aws:v1.1.0 \
    --snapshot-location-config region=REGION \
    --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
  4. 在目标集群上安装 适用于 vSphere 的 Velero 插件。安装的 Velero 将与 Kubernetes API 服务器通信以安装插件。
    velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0

从集群中卸载 适用于 vSphere 的 Velero 插件

完成以下步骤以卸载 适用于 vSphere 的 Velero 插件
  1. kubectl 上下文设置为目标 Tanzu Kubernetes 集群。
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. 要卸载插件,请运行以下命令,从 Velero 部署中移除 velero-plugin-for-vsphere 的 InitContainer。
    velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
  3. 要完成卸载,请删除备份驱动程序部署和相关的 CRD。
    kubectl -n velero delete deployment.apps/backup-driver
    kubectl delete crds \
    backuprepositories.backupdriver.cnsdp.vmware.com \
    backuprepositoryclaims.backupdriver.cnsdp.vmware.com \
    clonefromsnapshots.backupdriver.cnsdp.vmware.com \
    deletesnapshots.backupdriver.cnsdp.vmware.com \
    snapshots.backupdriver.cnsdp.vmware.com
    kubectl delete crds uploads.datamover.cnsdp.vmware.com downloads.datamover.cnsdp.vmware.com