Before you begin
- You must have S3-compatible storage set up before you complete this task. For more information,
see Setting up S3-compatible object storage for backups.
- This task assumes that you have a workstation with the NetApp Trident Protect command-line interface (CLI)
plug-in. For more information, see Install the Trident Protect CLI
plugin in the NetApp Trident documentation:
Best practice: You can run the commands in
this task exactly as written if you set up environment variables. For instructions, see
Setting up
installation environment variables.
Ensure
that you source the environment variables before you run the commands in this task.
About this task
If you plan to use the NetApp Trident Protect, you must install the
OADP operator and configure a Data
Protection Application to connect to your S3-compatible object storage.
Procedure
-
Log in to Red Hat®
OpenShift Container Platform as a cluster
administrator.
${OC_LOGIN}
Remember:
OC_LOGIN is an alias for the oc login
command.
- Install NetApp Trident Protect.
For more
information, see
Install and configure Trident
Protect
in the
NetApp Trident documentation:
- Check the version of the following NetApp software is the same:
- To check the version of NetApp Trident, run:
oc get deploy trident-controller \
-n trident \
-o yaml | grep "image:" | grep "trident"
- To check the version of NetApp Trident Protect, run:
oc get cm trident-protect-env-config \
-n ${PROJECT_NETAPP_TRIDENT_PROTECT} \
-o jsonpath='{.data.TRIDENT_PROTECT_TAG}{"\n"}'
- To check the version of the NetApp Trident Protect CLI plug-in, run:
tridentctl-protect version
- Create a NetApp Trident Protect AppVault.
(An
AppVault is a bucket custom resource for
NetApp Trident Protect.) For more information on
creating an App Vault, see
Use Trident Protect AppVault
objects to manage buckets in the
NetApp Trident documentation:
Remember: Ensure that the AppVault name matches the value that you set for the NETAPP_TRIDENT_PROTECT_APP_VAULT environment variable in your installation
environment variables script.
- Create the project where you want to install the OADP operator.
oc new-project ${OADP_PROJECT}
- Annotate the OADP project:
oc annotate namespace ${OADP_PROJECT} openshift.io/node-selector=""
The annotation ensure that Kopia pods
can be scheduled on all nodes
- Run the following command to install the OADP operator and configure the Data Protection Application (DPA):
cpd-cli oadp install \
--component=oadp-operator \
--namespace=${OADP_PROJECT} \
--oadp-version=${OADP_VERSION} \
--velero-cpu-limit=${KOPIA_POD_CPU_LIMIT} \
--velero-cpu-request=500m \
--velero-mem-limit=4Gi \
--velero-mem-request=256Mi \
--node-agent-pod-cpu-limit=${NODE_AGENT_POD_CPU_LIMIT} \
--node-agent-pod-cpu-request=500m \
--node-agent-pod-mem-limit=32Gi \
--node-agent-pod-mem-request=256Mi \
--uploader-type=kopia \
--bucket-name=${BUCKET_NAME} \
--prefix=${BUCKET_PREFIX} \
--access-key-id=${ACCESS_KEY_ID} \
--secret-access-key=${SECRET_ACCESS_KEY} \
--region=${REGION} \
--s3force-path-style=true \
--s3url=${S3_URL} \
--verbose
- Confirm that the
velero and
node-agent pods are running in the ${OADP_PROJECT} project:
oc get pods \
-n ${OADP_PROJECT}
The node-agent
DaemonSet creates one node-agent pod for each worker node in the
cluster. For example, on a cluster with 9 nodes, ensure that there are 9 node-agent
pods:
NAME READY STATUS RESTARTS AGE
openshift-adp-controller-manager-678f6998bf-fnv8p 2/2 Running 0 55m
node-agent-455wd 1/1 Running 0 49m
node-agent-5g4n8 1/1 Running 0 49m
node-agent-6z9v2 1/1 Running 0 49m
node-agent-722x8 1/1 Running 0 49m
node-agent-c8qh4 1/1 Running 0 49m
node-agent-lcqqg 1/1 Running 0 49m
node-agent-v6gbj 1/1 Running 0 49m
node-agent-xb9j8 1/1 Running 0 49m
node-agent-zjngp 1/1 Running 0 49m
velero-7d847d5bb7-zm6vd 1/1 Running 0 49m
- Verify that the backup storage location
PHASE is
Available:
cpd-cli oadp backup-location list \
--namespace=${OADP_PROJECT}
For example:
NAME PROVIDER BUCKET PREFIX PHASE LAST VALIDATED ACCESS MODE
dpa-sample-1 aws ${BUCKET_NAME} ${BUCKET_PREFIX} Available <timestamp>