Installation using repctl

Installation of CSM for Replication using repctl

Docker Hub images are discontinued. All deployments will be using images from quay.io.

Install Replication Walkthrough

NOTE: These steps should not be used when installing using Dell CSM Operator.

Set up repctl tool

Before you begin, make sure you have the repctl tool available.

You can download a pre-built repctl binary from our Releases page.

wget https://github.com/dell/csm-replication/releases/download/v1.12.0/repctl-linux-amd64
mv repctl-linux-amd64 repctl
chmod +x repctl

Alternately, if you want to build the binary yourself, you can follow these steps:

git clone -b v1.12.0 https://github.com/dell/csm-replication.git
cd csm-replication/repctl
make build

Installation steps

NOTE: The repctl commands only have to be run from one Kubernetes cluster. Repctl does the appropriate configuration on both clusters, when installing replication with it.

You can start using Container Storage Modules for Replication with help from repctl using these simple steps:

  1. Prepare admin Kubernetes clusters configs

  2. Add admin configs as clusters to repctl:

    
    ./repctl cluster add -f "/root/.kube/config-1","/root/.kube/config-2" -n "cluster-1","cluster-2"
    

    NOTE: If using a single Kubernetes cluster in a stretched configuration there will be only one cluster.

  3. Install replication CRDs:

    ./repctl create -f ../deploy/replicationcrds.all.yaml
    
  4. Install replication controller:

    Update allow-pvc-creation-on-target arg to true or false as required.
    Default: false

    true: It replicates the PVC on target cluster (in case of multi cluster)

    false: It updates the claimRef on remote PV

    ./repctl create -f ../deploy/controller.yaml
    

    NOTE: The controller will report that configmap is invalid. This is expected behavior. The message should disappear once you inject the kubeconfigs (next step).

  5. (Choose one)

    1. (More secure) Inject service accounts’ configs into clusters:
      ./repctl cluster inject --use-sa
      
    2. (Less secure) Inject admin configs into clusters:
      ./repctl cluster inject
      

    NOTE: After running this command, dell-replication-controller will be replicated to the target cluster.

  6. Modify csm-replication/repctl/examples/<storage>_example_values.yaml config with replication information:

    NOTE: clusterID should match names you gave to clusters in step 2

  7. Create replication storage classes using config:

    
    ./repctl create sc --from-config ./examples/<storage>_example_values.yaml
    
  8. Install CSI driver for your chosen storage on source and target cluster and provision replicated volumes

  9. (optional) Create PVCs on target cluster from Replication Group:

    
    ./repctl create pvc --rg <rg-name> -t <target-namespace> --dry-run=false
    

ℹ️ NOTE:: all repctl output is saved in a repctl.log file in the current working directory and can be attached to any installation troubleshooting requests.