TKG 服务 集群支持卷快照和还原功能。作为 DevOps 用户,您可以通过生成卷快照保护 TKG 集群中的工作负载。
可以使用快照置备新卷,并预填充快照数据。
必备条件
要为
TKG 服务 集群创建 CSI 快照,环境必须满足以下必备条件。
- vSphere 8.0 Update 2 或更高版本。
- 支持 CSI 快照的 Tanzu Kubernetes 版本,即 TKr v1.26.5 或针对 vSphere 8.0.2 或更高版本的更高版本。请参见 VMware Tanzu Kubernetes 版本发行说明。
- 最新兼容 主管 版本。请参见 VMware vSphere with Tanzu 8.0 发行说明。
要求
CSI 快照功能以 TKG 软件包的形式交付。使用 CSI 快照软件包的要求如下所示:
- 使用 TKG 标准软件包存储库版本 v2023.9.19 或更高版本。请参见 Tanzu Standard 软件包存储库版本。
- 安装证书管理器软件包。请参见安装和使用 VMware Tanzu 软件包。
- 使用 Tanzu CLI 安装和部署 vsphere-pv-csi-webhook。请参见安装和部署 vSphere PVCSI Webhook。
- 使用 Tanzu CLI 安装和部署 external-csi-snapshot-webhook。请参见安装和部署外部 CSI 快照 Webhook。
准则和限制
在 TKG 集群中使用快照和还原功能时,请遵循以下准则。
- 仅块卷支持卷快照和还原操作。无法对 vSphere 文件卷使用这些操作。
- 从 VolumeSnapshot 创建 PVC 时,它应与原始 VolumeSnapshot 位于同一数据存储中。否则,置备该 PVC 将失败,并显示以下错误:
failed to provision volume with StorageClass <storage-class-name>: rpc error: code = Internal desc = failed to create volume. Error: failed to get the compatible datastore for create volume from snapshot <snapshot-name> with error: failed to find datastore with URL <datastore-url> from the input datastore list, <[datastore-list]>
通过 VolumeSnapshot 创建的目标 PVC 的数据存储由 PVC 定义中的 StorageClass 确定。确保目标 PVC 的 StorageClass 和原始源 PVC 的 StorageClass 指向同一数据存储,即源 PVC 的数据存储。此规则还适用于 StorageClass 定义中的拓扑要求。这些要求还必须指向同一个通用数据存储。存在冲突的任何拓扑要求都会导致出现如上所示的相同错误。
- 无法删除或扩展包含关联快照的卷。删除所有快照以扩展或删除源卷。
- 从快照创建卷时,确保卷的大小与快照的大小相匹配。
- 不支持对快照进行存储配额监控。
- 无法在 vSphere 配置中配置每个卷的最大快照数。要获得更佳的性能,可以每个虚拟磁盘使用两到三个快照。有关详细信息,请参见在 vSphere 环境中使用 VMware 快照的最佳实践。
对于vSAN ESA,每个卷最多使用 32 个快照。有关 vSAN ESA 的详细信息,请参见 vSAN Express Storage Architecture。