兼容性矩阵
本文说明当前开源文档对应的 Testudo 组件版本、依赖版本和已知兼容边界。没有经过验证的组合不应被理解为已支持。
组件版本
| 组件 | 当前依据 | 状态 |
|---|---|---|
| Helm Chart | testudo-chart Chart 1.0.0,appVersion: v1.0.0 | 当前文档基线 |
| testudo-operator 镜像 | Chart values 中 images.operator.tag: v1.0.0 | 当前文档基线 |
| testudo-server 镜像 | Chart values 中 images.server.tag: v1.0.0 | 当前文档基线 |
| testudo-web 镜像 | Chart values 中 images.web.tag: v1.0.0 | 当前 Chart 默认值 |
| CRD GroupVersion | testudo.softcdata.com/v1 | 当前 API 版本 |
Kubernetes 与控制器依赖
| 项目 | 当前依赖 | 说明 |
|---|---|---|
| Go | 1.24.5 | operator 与 server go.mod 均使用该版本 |
| Kubernetes client-go | v0.34.1 | operator/server 均依赖 |
| controller-runtime | v0.21.0 | operator/server 均依赖 |
| apiextensions-apiserver | v0.33.3 | CRD 与 webhook 相关依赖 |
Kubernetes 实际支持范围应以发布测试矩阵为准。当前代码依赖 Kubernetes v0.34.x 客户端,但这不等于所有 Kubernetes 集群版本都已通过端到端验证。
Velero
| 项目 | 当前依赖 | 说明 |
|---|---|---|
| Velero Go module | github.com/vmware-tanzu/velero v1.17.0 | operator 与 server 均依赖 |
| 使用资源 | Backup、Restore、Schedule、BackupStorageLocation 等 | 由 operator 创建和观测 |
| 集群要求 | 参与容灾的业务集群需要安装可工作的 Velero 与存储插件 | 需要在安装前单独验证 |
如果业务集群使用不同 Velero 版本,应先在测试环境验证 Backup/Restore、PodVolumeBackup/PodVolumeRestore、BSL 状态和对象存储访问。
对象存储
| 存储类型 | 状态 | 说明 |
|---|---|---|
| MinIO | 推荐验证目标 | 文档和教程默认按 S3 兼容语义描述 |
| AWS S3 | 理论兼容 | 依赖 S3 兼容 API、bucket 权限和网络可达性 |
| Ceph RGW | 需验证 | 取决于 S3 API 兼容性、签名方式和 bucket policy |
| NFS | 不作为对象存储后端 | 如通过 Velero 插件间接支持,应以 Velero 插件能力为准 |
对象存储必须同时被源集群和目标集群访问。生产环境需要确认 bucket 生命周期、加密、访问密钥轮换和容量告警。
CSI、StorageClass 与 PV/PVC
| 能力 | 状态 | 说明 |
|---|---|---|
| PVC 数据备份恢复 | 依赖 Velero 和存储插件 | Testudo 编排流程,不替代底层数据面能力 |
| StorageClass 映射 | 已在教程中覆盖 | 跨集群恢复时需要配置映射 |
| VolumeSnapshot | 需按集群插件验证 | 取决于 CSI driver、VolumeSnapshotClass 和 Velero 插件 |
| Trafficless Restore | 项目能力 | 用临时恢复路径同步目标 PVC,避免 standby 工作负载提前接流量 |
浏览器与控制台
控制台通过 disaster-web 暴露,默认 NodePort 为 30087。正式发布前应明确浏览器支持范围;当前文档只描述控制台工作流,不承诺特定浏览器兼容矩阵。
发布前检查项
每次发布前应更新本页:
- Chart 版本和 appVersion。
- operator/server/web 镜像 tag。
- Kubernetes、Velero、对象存储和 CSI 验证组合。
- 已知不兼容项。
- 升级路径和回滚限制。