教程环境准备:通过 Helm 一键安装控制面
本教程用于准备后续备份恢复和容灾演练的基础环境。推荐把 disaster-operator、disaster-server 和 disaster-web 安装在独立的管理集群或管理命名空间中,然后通过平台注册业务集群。
前置条件
- 已准备 Kubernetes 管理集群,
kubectl指向该集群。 - 已安装 Helm v3。
- 已添加
testudo-chartHelm 仓库,或者已准备testudo-chart-1.0.0.tgzChart 包。 - 管理集群能拉取默认 Docker Hub 公共镜像,或已经提前导入镜像。
- 如果启用 webhook 证书自动签发,集群中需要有 cert-manager。
一键安装
默认安装命名空间是 disaster-system。添加 Helm 仓库后,使用一条 Helm 命令完成安装:
helm repo add testudo https://github.com/Softcdata/testudo-chart/releases/download/helm-repo
helm repo update
helm upgrade --install testudo testudo/testudo-chart \
-n disaster-system \
--create-namespace
默认安装会从 Docker Hub 拉取公共镜像。国内网络可以追加随 release 发布的阿里云 ACR 公共镜像 values 文件:
helm upgrade --install testudo testudo/testudo-chart \
-n disaster-system \
--create-namespace \
-f https://github.com/Softcdata/testudo-chart/releases/download/helm-repo/values-aliyun.yaml
安装完成后,disaster-web 默认以 NodePort 暴露,端口为 30087;disaster-server 默认是 ClusterIP,端口为 30081;web 访问 server 的集群内地址是 http://disaster-server:30081。
自定义命名空间
如果 Helm release 安装到非默认命名空间,需要同时设置 global.namespace,否则部分资源仍会渲染到默认命名空间:
helm upgrade --install testudo ./testudo-chart-1.0.0.tgz \
-n dr-system \
--create-namespace \
--set global.namespace=dr-system
验证控制面
检查 release、Pod、Service 和 CRD:
helm ls -n disaster-system
kubectl get pods,svc -n disaster-system
kubectl api-resources | grep testudo.softcdata.com
如果使用本地端口转发,可以把控制台暴露到 127.0.0.1:8087:
kubectl -n disaster-system port-forward svc/disaster-web 8087:80
打开控制台后应看到首页总览、集群统计、备份恢复任务、容灾任务和任务事件入口。

安装后检查清单
disaster-operatorPod 正常运行,没有持续重启。disaster-server能访问 Kubernetes API,并能列出 CRD。disaster-web能访问 server,首页接口没有 401、502 或跨域错误。testudo.softcdata.com资源组已经注册。- license、webhook、镜像拉取 Secret 等安装参数符合当前环境要求。
下一步
继续完成 登录控制台并确认组件状态,然后注册业务集群和备份仓库。