1.6. Installation et configuration d’OADP
1.6.1. Installation d’OADP Copier lienLien copié sur presse-papiers!
Il est possible d’utiliser l’API OpenShift pour la protection des données (OADP) avec Red Hat OpenShift Service sur AWS (ROSA) pour sauvegarder et restaurer les données des applications.
Avant d’installer l’API OpenShift pour la protection des données (OADP), vous devez configurer les informations d’identification des rôles et des politiques pour OADP afin qu’elle puisse utiliser l’API Amazon Web Services.
Ce processus se déroule en deux étapes:
- Créer des informations d’identification AWS
- Installez l’opérateur OADP et donnez-lui un rôle IAM
1.6.1.1. La préparation des identifiants AWS pour OADP Copier lienLien copié sur presse-papiers!
Le compte Amazon Web Services doit être préparé et configuré pour accepter une installation OpenShift API for Data Protection (OADP).
Procédure
Créez les variables d’environnement suivantes en exécutant les commandes suivantes:
ImportantChangez le nom du cluster pour correspondre à votre cluster ROSA et assurez-vous d’être connecté au cluster en tant qu’administrateur. Assurez-vous que tous les champs sont affichés correctement avant de continuer.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom de votre cluster ROSA est remplacé par mon cluster.
Dans le compte AWS, créez une politique IAM pour permettre l’accès à AWS S3:
Vérifiez si la stratégie existe en exécutant la commande suivante:
POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='RosaOadpVer1'].{ARN:Arn}" --output text)$ POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='RosaOadpVer1'].{ARN:Arn}" --output text)1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Remplacez RosaOadp par le nom de votre politique.
Entrez la commande suivante pour créer le fichier JSON de stratégie, puis créez la stratégie dans ROSA:
NoteLorsque la stratégie ARN n’est pas trouvée, la commande crée la stratégie. Dans le cas où la politique ARN existe déjà, la déclaration si elle saute intentionnellement la création de la politique.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le SCRATCH est un nom pour un répertoire temporaire créé pour les variables d’environnement.
Consultez la stratégie ARN en exécutant la commande suivante:
echo ${POLICY_ARN}$ echo ${POLICY_ARN}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Créer une politique de confiance du rôle de l’IAM pour le cluster:
Créez le fichier de stratégie de confiance en exécutant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le rôle en exécutant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afficher le rôle ARN en exécutant la commande suivante:
echo ${ROLE_ARN}$ echo ${ROLE_ARN}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Joindre la politique de l’IAM au rôle de l’IAM en exécutant la commande suivante:
aws iam attach-role-policy --role-name "${ROLE_NAME}" \ --policy-arn ${POLICY_ARN}$ aws iam attach-role-policy --role-name "${ROLE_NAME}" \ --policy-arn ${POLICY_ARN}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.1.2. Installation de l’opérateur OADP et rôle IAM Copier lienLien copié sur presse-papiers!
AWS Security Token Service (AWS STS) est un service Web mondial qui fournit des informations d’identification à court terme pour les utilisateurs IAM ou fédérés. Le Red Hat OpenShift Service sur AWS (ROSA) avec STS est le mode d’identification recommandé pour les clusters ROSA. Ce document décrit comment installer l’API OpenShift pour la protection des données (OADP) sur ROSA avec AWS STS.
Le Restic n’est pas pris en charge.
La sauvegarde du système de fichiers Kopia (FSB) est prise en charge lors de la sauvegarde des systèmes de fichiers qui n’ont pas de prise en charge de l’interface de stockage de conteneurs (CSI).
Exemple de systèmes de fichiers comprennent ce qui suit:
- Amazon Elastic File System (EFS)
- Le système de fichiers réseau (NFS)
- les volumes videDir
- Les volumes locaux
En cas de sauvegarde des volumes, OADP sur ROSA avec AWS STS ne prend en charge que les snapshots natifs et les snapshots CSI (Container Storage Interface).
Dans un cluster Amazon ROSA qui utilise l’authentification STS, la restauration des données sauvegardées dans une autre région AWS n’est pas prise en charge.
La fonction Data Mover n’est pas actuellement prise en charge dans les clusters ROSA. Il est possible d’utiliser des outils AWS S3 natifs pour déplacer les données.
Conditions préalables
- A Red Hat OpenShift Service sur AWS ROSA cluster avec l’accès et les jetons requis. Consultez la procédure précédente Préparation des informations d’identification AWS pour OADP. Lorsque vous prévoyez d’utiliser deux clusters différents pour sauvegarder et restaurer, vous devez préparer des identifiants AWS, y compris ROLE_ARN, pour chaque cluster.
Procédure
Créez un service Red Hat OpenShift sur AWS secret à partir de votre fichier jeton AWS en entrant les commandes suivantes:
Créer le fichier d’identification:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <aws_region> par la région AWS à utiliser pour le point d’extrémité STS.
Créer un espace de noms pour OADP:
oc create namespace openshift-adp
$ oc create namespace openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le service Red Hat OpenShift sur AWS secret:
oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials$ oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteDans Red Hat OpenShift Service sur AWS version 4.15 et ultérieure, l’opérateur OADP prend en charge un nouveau flux de travail STS standardisé via le gestionnaire de cycle de vie de l’opérateur (OLM) et Cloud Credentials Operator (CCO). Dans ce flux de travail, vous n’avez pas besoin de créer le secret ci-dessus, vous n’avez besoin que de fournir le rôle ARN lors de l’installation d’opérateurs gérés par OLM en utilisant le service OpenShift Red Hat sur la console Web AWS, pour plus d’informations voir Installation depuis OperatorHub à l’aide de la console Web.
Le secret précédent est créé automatiquement par CCO.
Installez l’opérateur OADP:
-
Dans le Red Hat OpenShift Service sur la console web AWS, accédez aux opérateurs
OperatorHub. - Cherchez l’opérateur OADP.
- Dans le champ role_ARN, collez le rôle_arn que vous avez créé précédemment et cliquez sur Installer.
-
Dans le Red Hat OpenShift Service sur la console web AWS, accédez aux opérateurs
Créez un stockage cloud AWS à l’aide de vos identifiants AWS en entrant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Consultez la classe de stockage par défaut de votre application en entrant la commande suivante:
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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 4d19hCopy to Clipboard Copied! Toggle word wrap Toggle overflow Bénéficiez de la classe de stockage en exécutant la commande suivante:
oc get storageclass
$ oc get storageclassCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple 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 4d21h
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 4d21hCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLes classes de stockage suivantes fonctionneront:
- gp3-csi
- gp2-csi
- Gp3
- Gp2
Lorsque l’application ou les applications en cours de sauvegarde sont toutes utilisant des volumes persistants (PV) avec Container Storage Interface (CSI), il est conseillé d’inclure le plugin CSI dans la configuration OADP DPA.
Créez la ressource DataProtectionApplication pour configurer la connexion au stockage où les sauvegardes et les instantanés de volume sont stockés:
Lorsque vous utilisez uniquement des volumes CSI, déployez une application de protection des données en entrant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- La ROSA prend en charge la sauvegarde interne d’image. Définissez ce champ sur false si vous ne voulez pas utiliser la sauvegarde d’image.
- 2
- Consultez la note importante concernant l’attribut nodeAgent.
- 3
- Le type de téléchargeur. Les valeurs possibles sont restiques ou kopia. Le Mover de données intégré utilise Kopia comme mécanisme de téléchargement par défaut, quelle que soit la valeur du champ uploaderType.
Lorsque vous utilisez des volumes CSI ou non CSI, déployez une application de protection des données en entrant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- La ROSA prend en charge la sauvegarde interne d’image. Définissez ce champ sur false si vous ne voulez pas utiliser la sauvegarde d’image.
- 2
- Consultez la note importante concernant l’attribut nodeAgent.
- 3
- Le champ CredentialsFile est l’emplacement monté de l’identifiant du seau sur le pod.
- 4
- Le champ enableSharedConfig permet aux snapshotLocations de partager ou de réutiliser l’identifiant défini pour le seau.
- 5
- Utilisez le nom de profil défini dans le fichier d’identification AWS.
- 6
- Indiquez la région en tant que région AWS. Cela doit être le même que la région des clusters.
Désormais, vous êtes prêt à sauvegarder et restaurer Red Hat OpenShift Service sur les applications AWS, comme décrit dans les applications de sauvegarde.
Le paramètre d’activation de restic est défini sur false dans cette configuration, car OADP ne prend pas en charge Restic dans les environnements ROSA.
Lorsque vous utilisez OADP 1.2, remplacez cette configuration:
nodeAgent: enable: false uploaderType: restic
nodeAgent:
enable: false
uploaderType: restic
avec la configuration suivante:
restic: enable: false
restic:
enable: false
Lorsque vous souhaitez utiliser deux clusters différents pour sauvegarder et restaurer, les deux clusters doivent avoir les mêmes noms de stockage AWS S3 dans le CR de stockage en nuage et dans la configuration OADP DataProtectionApplication.
1.6.1.3. La mise à jour du rôle IAM ARN dans l’abonnement OADP Operator Copier lienLien copié sur presse-papiers!
Lors de l’installation de l’opérateur OADP sur un cluster ROSA Security Token Service (STS), si vous fournissez un rôle IAM incorrect Amazon Resource Name (ARN), le pod openshift-adp-controller donne une erreur. Les requêtes d’identification qui sont générées contiennent le mauvais rôle IAM ARN. Afin de mettre à jour l’objet de requêtes d’identification avec l’ARN du rôle IAM correct, vous pouvez modifier l’abonnement OADP Operator et corriger le rôle IAM ARN avec la valeur correcte. En modifiant l’abonnement OADP Operator, vous n’avez pas à désinstaller et réinstaller OADP pour mettre à jour le rôle IAM ARN.
Conditions préalables
- Il existe un service Red Hat OpenShift sur le cluster AWS STS avec l’accès et les jetons requis.
- Il a été installé OADP sur le cluster ROSA STS.
Procédure
Afin de vérifier que l’abonnement OADP a le mauvais jeu de variable d’environnement ARN rôle IAM, exécutez la commande suivante:
oc get sub -o yaml redhat-oadp-operator
$ oc get sub -o yaml redhat-oadp-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d’abonnement
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Vérifiez la valeur de ROLEARN que vous souhaitez mettre à jour.
Actualisez le champ ROLEARN de l’abonnement avec le rôle correct ARN en exécutant la commande suivante:
oc patch subscription redhat-oadp-operator -p '{"spec": {"config": {"env": [{"name": "ROLEARN", "value": "<role_arn>"}]}}}' --type='merge'$ oc patch subscription redhat-oadp-operator -p '{"spec": {"config": {"env": [{"name": "ROLEARN", "value": "<role_arn>"}]}}}' --type='merge'Copy to Clipboard Copied! Toggle word wrap Toggle overflow là où:
<role_arn>- Indique le rôle IAM ARN à mettre à jour. Arn:aws:iam::160….6956:role/oadprosa…..8wlf.
Assurez-vous que l’objet secret est mis à jour avec la valeur ARN du rôle correct en exécutant la commande suivante:
oc get secret cloud-credentials -o jsonpath='{.data.credentials}' | base64 -d$ oc get secret cloud-credentials -o jsonpath='{.data.credentials}' | base64 -dCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
[default] sts_regional_endpoints = regional role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
[default] sts_regional_endpoints = regional role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf web_identity_token_file = /var/run/secrets/openshift/serviceaccount/tokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow Configurez le fichier de manifestation DataProtectionApplication (CR) comme indiqué dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le CloudStorage CR.
Créez la DataProtectionApplication CR en exécutant la commande suivante:
oc create -f <dpa_manifest_file>
$ oc create -f <dpa_manifest_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que le DataProtectionApplication CR est réconcilié et que l’état est défini sur "True" en exécutant la commande suivante:
oc get dpa -n openshift-adp -o yaml
$ oc get dpa -n openshift-adp -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d’application de DataProtectionApplication
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que BackupStorageLocation CR est dans un état disponible en exécutant la commande suivante:
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adpCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de BackupStorageLocation
NAME PHASE LAST VALIDATED AGE DEFAULT ts-dpa-1 Available 3s 6s true
NAME PHASE LAST VALIDATED AGE DEFAULT ts-dpa-1 Available 3s 6s trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow