Skip to main content

Prepare The Tutorial Environment With Helm

This tutorial prepares the control plane used by the backup, restore, and disaster recovery walkthroughs. Install disaster-operator, disaster-server, and disaster-web into a management cluster or a dedicated management namespace.

Prerequisites

  • A Kubernetes management cluster.
  • kubectl pointing to the management cluster.
  • Helm v3.
  • The testudo-chart Helm repository, or the testudo-chart-1.0.0.tgz chart package.
  • Pull access to the default public Docker Hub images, or preloaded images on the target nodes.
  • cert-manager if webhook certificate management is enabled.

One-command Install

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

The default install pulls public images from Docker Hub. For faster pulls in China, add the Aliyun ACR public image values file published with the release:

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

The default web service is exposed as NodePort 30087. The server service is ClusterIP on port 30081, and the web backend URL is http://disaster-server:30081.

Custom Namespace

When installing into a custom namespace, set global.namespace as well:

helm upgrade --install testudo ./testudo-chart-1.0.0.tgz \
-n dr-system \
--create-namespace \
--set global.namespace=dr-system

Verify

helm ls -n disaster-system
kubectl get pods,svc -n disaster-system
kubectl api-resources | grep testudo.softcdata.com

For local access:

kubectl -n disaster-system port-forward svc/disaster-web 8087:80

Open http://127.0.0.1:8087.

Platform dashboard

Checklist

  • The operator pod is running.
  • The server can list CRDs.
  • The web console can reach the server.
  • testudo.softcdata.com resources are registered.
  • License, webhook, and image pull settings match the environment.