8.2. Déployer OADP sur le cluster
Créer un espace de noms pour OADP:
$ oc create namespace openshift-adpCréer un secret d’identification:
$ cat <<EOF > ${SCRATCH}/credentials [default] role_arn = ${ROLE_ARN} web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token region=<aws_region>1 EOF $ oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials- 1
- <aws_region> par la région AWS à utiliser pour le point d’extrémité du service de jeton de sécurité (STS).
Déployer l’opérateur OADP:
NoteIl y a actuellement un problème avec la version 1.1 de l’opérateur avec des sauvegardes qui ont un statut PartiallyFailed. Cela ne semble pas affecter le processus de sauvegarde et de restauration, mais il convient de noter qu’il y a des problèmes avec lui.
$ cat << EOF | oc create -f - apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: generateName: openshift-adp- namespace: openshift-adp name: oadp spec: targetNamespaces: - openshift-adp --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: redhat-oadp-operator namespace: openshift-adp spec: channel: stable-1.2 installPlanApproval: Automatic name: redhat-oadp-operator source: redhat-operators sourceNamespace: openshift-marketplace EOFAttendez que l’opérateur soit prêt:
$ watch oc -n openshift-adp get podsExemple de sortie
NAME READY STATUS RESTARTS AGE openshift-adp-controller-manager-546684844f-qqjhn 1/1 Running 0 22sCréer le stockage en nuage:
$ cat << EOF | oc create -f - apiVersion: oadp.openshift.io/v1alpha1 kind: CloudStorage metadata: name: ${CLUSTER_NAME}-oadp namespace: openshift-adp spec: creationSecret: key: credentials name: cloud-credentials enableSharedConfig: true name: ${CLUSTER_NAME}-oadp provider: aws region: $REGION EOFConsultez la classe de stockage par défaut de votre application:
$ oc get pvc -n <namespace>1 - 1
- Entrez l’espace de noms de votre application.
Exemple de sortie
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h$ oc get storageclassExemple de sortie
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21hEn utilisant gp3-csi, gp2-csi, gp3 ou gp2 fonctionneront. Dans le cas où les applications sauvegardées sont toutes utilisées par PV avec CSI, incluez le plugin CSI dans la configuration OADP DPA.
CSI seulement: Déployer une application de protection des données:
$ cat << EOF | oc create -f - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: ${CLUSTER_NAME}-dpa namespace: openshift-adp spec: backupImages: true features: dataMover: enable: false backupLocations: - bucket: cloudStorageRef: name: ${CLUSTER_NAME}-oadp credential: key: credentials name: cloud-credentials prefix: velero default: true config: region: ${REGION} configuration: velero: defaultPlugins: - openshift - aws - csi restic: enable: false EOFNoteLorsque vous exécutez cette commande pour les volumes CSI, vous pouvez passer l’étape suivante.
Les volumes non CSI: Déployer une application de protection des données:
$ cat << EOF | oc create -f - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: ${CLUSTER_NAME}-dpa namespace: openshift-adp spec: backupImages: true features: dataMover: enable: false backupLocations: - bucket: cloudStorageRef: name: ${CLUSTER_NAME}-oadp credential: key: credentials name: cloud-credentials prefix: velero default: true config: region: ${REGION} configuration: velero: defaultPlugins: - openshift - aws restic: enable: false snapshotLocations: - velero: config: credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials enableSharedConfig: 'true' profile: default region: ${REGION} provider: aws EOF
- Dans les environnements OADP 1.1.x ROSA STS, la valeur de sauvegarde et de restauration d’image de conteneur (spec.backupImages) doit être définie sur false car elle n’est pas prise en charge.
- La fonction Restic (restic.enable=false) est désactivée et n’est pas prise en charge dans les environnements ROSA STS.
- La fonction DataMover (dataMover.enable=false) est désactivée et n’est pas prise en charge dans les environnements ROSA STS.