Installation 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:
-
Prepare admin Kubernetes clusters configs
-
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.
-
Install replication CRDs:
./repctl create -f ../deploy/replicationcrds.all.yaml
-
Install replication controller:
Update
allow-pvc-creation-on-target
arg totrue
orfalse
as required.
Default:false
true
: It replicates the PVC on target cluster (in case ofmulti cluster
)false
: It updates theclaimRef
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).
-
(Choose one)
- (More secure) Inject service accounts’ configs into clusters:
./repctl cluster inject --use-sa
- (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.
- (More secure) Inject service accounts’ configs into clusters:
-
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 -
Create replication storage classes using config:
./repctl create sc --from-config ./examples/<storage>_example_values.yaml
-
Install CSI driver for your chosen storage on source and target cluster and provision replicated volumes
-
(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 arepctl.log
file in the current working directory and can be attached to any installation troubleshooting requests.