6.5. Configuration d’un référentiel de réplication
Vous devez configurer un stockage d’objets à utiliser comme référentiel de réplication. Migration Toolkit for Containers (MTC) copie les données du cluster source vers le référentiel de réplication, puis du référentiel de réplication vers le cluster cible.
MTC prend en charge les méthodes de copie de données du système de fichiers et des instantanés pour la migration des données du cluster source vers le cluster cible. Vous pouvez sélectionner une méthode adaptée à votre environnement et prise en charge par votre fournisseur de stockage.
Les fournisseurs de stockage suivants sont pris en charge :
- Passerelle d'objets multicloud
- Services Web d'Amazon S3
- Google Cloud Platform
- Blob Microsoft Azure
- Stockage d’objets S3 générique ; Minio ou Ceph S3, par exemple
6.5.1. Conditions préalables Copier lienLien copié sur presse-papiers!
- Tous les clusters doivent disposer d’un accès réseau ininterrompu au référentiel de réplication.
- Si vous utilisez un serveur mandateur avec un référentiel de réplication hébergé en interne, vous devez vous assurer que le proxy autorise l’accès au référentiel de réplication.
6.5.2. Récupération des informations d’identification de Multicloud Object Gateway Copier lienLien copié sur presse-papiers!
Vous devez récupérer les informations d’identification de Multicloud Object Gateway (MCG) et le point d’accès S3 afin de configurer MCG comme référentiel de réplication pour Migration Toolkit for Containers (MTC). Vous devez récupérer les informations d’identification de Multicloud Object Gateway (MCG) afin de créer une ressource personnalisée (CR) Secret pour OADP (OpenShift API for Data Protection).
MCG est un composant d'OpenShift Data Foundation.
Conditions préalables
- Vous devez déployer OpenShift Data Foundation en utilisant le guide de déploiement OpenShift Data Foundation approprié.
Procédure
Obtenez le point de terminaison S3,
AWS_ACCESS_KEY_IDetAWS_SECRET_ACCESS_KEYen exécutant la commandedescribesur la ressource personnaliséeNooBaa.Vous utilisez ces informations d’identification pour ajouter MCG comme référentiel de réplication.
6.5.3. Configuration d’Amazon Web Services Copier lienLien copié sur presse-papiers!
Vous configurez le stockage d’objets Amazon Web Services (AWS) S3 comme référentiel de réplication pour Migration Toolkit for Containers (MTC).
Conditions préalables
- Il faut que la CLI AWS soit déjà installée.
- Le compartiment de stockage AWS S3 doit être accessible aux clusters source et cible.
Si vous utilisez la méthode de copie de cliché :
- Vous devez avoir accès à EC2 Elastic Block Storage (EBS).
- Les clusters source et cible doivent se trouver dans la même région.
- Les clusters source et cible doivent avoir la même classe de stockage.
- La classe de stockage doit être compatible avec les instantanés.
Procédure
Définissez la variable
BUCKET:BUCKET=<your_bucket>
$ BUCKET=<your_bucket>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
REGION:REGION=<your_region>
$ REGION=<your_region>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un compartiment AWS S3 :
aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
us-east-1ne prend pas en charge la contrainte d’emplacement (LocationConstraint). Si votre région estus-east-1, omettez--create-bucket-configuration LocationConstraint=$REGION.
Créez un utilisateur IAM :
aws iam create-user --user-name velero
$ aws iam create-user --user-name velero1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Si vous souhaitez utiliser Velero pour sauvegarder plusieurs clusters avec plusieurs compartiments S3, créez un nom d’utilisateur unique pour chaque cluster.
Créez un fichier
velero-policy.json:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Attachez les politiques pour donner à l'utilisateur
veleroles permissions minimales nécessaires :aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une clé d’accès pour l’utilisateur
velero:aws iam create-access-key --user-name velero
$ aws iam create-access-key --user-name veleroCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enregistrez
AWS_SECRET_ACCESS_KEYetAWS_ACCESS_KEY_ID. Vous utilisez les informations d’identification pour ajouter AWS comme référentiel de réplication.
6.5.4. Configuration de Google Cloud Platform Copier lienLien copié sur presse-papiers!
Vous configurez un compartiment de stockage Google Cloud Platform (GCP) comme référentiel de réplication pour Migration Toolkit for Containers (MTC).
Conditions préalables
-
Il faut que les outils CLI
gcloudetgsutilsoient déjà installés. Pour plus d’informations, consultez la documentation de Google Cloud. - Le compartiment de stockage GCP doit être accessible aux clusters source et cible.
Si vous utilisez la méthode de copie de cliché :
- Les clusters source et cible doivent se trouver dans la même région.
- Les clusters source et cible doivent avoir la même classe de stockage.
- La classe de stockage doit être compatible avec les instantanés.
Procédure
Connectez-vous à GCP :
gcloud auth login
$ gcloud auth loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
BUCKET:BUCKET=<bucket>
$ BUCKET=<bucket>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de votre compartiment.
Créez le compartiment de stockage :
gsutil mb gs://$BUCKET/
$ gsutil mb gs://$BUCKET/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
PROJECT_IDsur votre projet actif :PROJECT_ID=$(gcloud config get-value project)
$ PROJECT_ID=$(gcloud config get-value project)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un compte de service :
gcloud iam service-accounts create velero \ --display-name "Velero service account"$ gcloud iam service-accounts create velero \ --display-name "Velero service account"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Répertoriez vos comptes de service :
gcloud iam service-accounts list
$ gcloud iam service-accounts listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
SERVICE_ACCOUNT_EMAILpour qu’elle corresponde à sa valeuremail:SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')Copy to Clipboard Copied! Toggle word wrap Toggle overflow Attachez les politiques pour donner à l'utilisateur
veleroles permissions minimales nécessaires :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le rôle personnalisé
velero.server:gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez une liaison de stratégie IAM au projet :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Mettez à jour le compte de service IAM :
gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enregistrez les clés du compte de service IAM dans le fichier
credentials-velerodu répertoire actuel :gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAILCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vous utilisez le fichier
credentials-veleropour ajouter GCP comme référentiel de réplication.
6.5.5. Configuration de Microsoft Azure Copier lienLien copié sur presse-papiers!
Vous configurez un conteneur de stockage Microsoft Azure Blob comme référentiel de réplication pour Migration Toolkit for Containers (MTC).
Conditions préalables
- Il faut que la CLI Azure soit déjà installée.
- Le conteneur de stockage Azure Blob doit être accessible aux clusters source et cible.
Si vous utilisez la méthode de copie de cliché :
- Les clusters source et cible doivent se trouver dans la même région.
- Les clusters source et cible doivent avoir la même classe de stockage.
- La classe de stockage doit être compatible avec les instantanés.
Procédure
Connectez-vous à Azure :
az login
$ az loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
AZURE_RESOURCE_GROUP:AZURE_RESOURCE_GROUP=Velero_Backups
$ AZURE_RESOURCE_GROUP=Velero_BackupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un groupe de ressources Azure :
az group create -n $AZURE_RESOURCE_GROUP --location CentralUS
$ az group create -n $AZURE_RESOURCE_GROUP --location CentralUS1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez votre emplacement.
Définissez la variable
AZURE_STORAGE_ACCOUNT_ID:AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
$ AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un compte de stockage Azure :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définissez la variable
BLOB_CONTAINER:BLOB_CONTAINER=velero
$ BLOB_CONTAINER=veleroCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un conteneur de stockage Azure Blob :
az storage container create \ -n $BLOB_CONTAINER \ --public-access off \ --account-name $AZURE_STORAGE_ACCOUNT_ID
$ az storage container create \ -n $BLOB_CONTAINER \ --public-access off \ --account-name $AZURE_STORAGE_ACCOUNT_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez des informations d’identification et un principal de service pour
velero:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enregistrez les informations d’identification du principal du service dans le fichier
credentials-velero:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous utilisez le fichier
credentials-veleropour ajouter Azure comme référentiel de réplication.