通过在 Tanzu Kubernetes 集群上安装 适用于 vSphere 的 Velero 插件,可以使用 适用于 vSphere 的 Velero 插件 备份和还原该集群上运行的工作负载。
概览
必备条件:在 主管集群 上安装 适用于 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 的同一跳转主机,包括 kubectl
、kubectl-vsphere
和 velero-vsphere
。
- 从 VMware 产品下载页面下载 Velero CLI 的受支持版本。有关受支持的 Velero 版本的详细信息,请参见发行说明。
- 打开命令行并将目录更改为 Velero CLI 下载。
gunzip velero-linux-v1.x.x_vmware.1.gz
- 检查 Velero 二进制文件。
ls -l -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
- 向 Velero CLI 授予执行权限。
chmod +x velero-linux-v1.x.x_vmware.1
- 将 Velero CLI 移至系统路径,使其全局可用。
cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
- 验证 Velero CLI 的安装。
velero version Client: Version: v1.x.x
获取与 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 插件。
kubectl
上下文。在运行 Velero CLI 命令以在目标集群上安装 Velero 和
适用于 vSphere 的 Velero 插件 之前,请务必将
kubectl
上下文设置为目标集群。
- 使用 kubectl 的 vSphere 插件 向 主管集群 进行身份验证。请参见以 vCenter Single Sign-On 用户的身份连接到 主管集群。
- 将
kubectl
上下文设置为目标 Tanzu Kubernetes 集群。kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 运行以下 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
- 在目标集群上安装 适用于 vSphere 的 Velero 插件。安装的 Velero 将与 Kubernetes API 服务器通信以安装插件。
velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
从集群中卸载 适用于 vSphere 的 Velero 插件
- 将
kubectl
上下文设置为目标 Tanzu Kubernetes 集群。kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
- 要卸载插件,请运行以下命令,从 Velero 部署中移除 velero-plugin-for-vsphere 的 InitContainer。
velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
- 要完成卸载,请删除备份驱动程序部署和相关的 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