跳到主要内容

教程环境准备:通过 Helm 一键安装控制面

本教程用于准备后续备份恢复和容灾演练的基础环境。推荐把 disaster-operatordisaster-serverdisaster-web 安装在独立的管理集群或管理命名空间中,然后通过平台注册业务集群。

前置条件

  • 已准备 Kubernetes 管理集群,kubectl 指向该集群。
  • 已安装 Helm v3。
  • 已添加 testudo-chart Helm 仓库,或者已准备 testudo-chart-1.0.0.tgz Chart 包。
  • 管理集群能拉取默认 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 暴露,端口为 30087disaster-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-operator Pod 正常运行,没有持续重启。
  • disaster-server 能访问 Kubernetes API,并能列出 CRD。
  • disaster-web 能访问 server,首页接口没有 401、502 或跨域错误。
  • testudo.softcdata.com 资源组已经注册。
  • license、webhook、镜像拉取 Secret 等安装参数符合当前环境要求。

下一步

继续完成 登录控制台并确认组件状态,然后注册业务集群和备份仓库。