3.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. Sélectionnez une méthode adaptée à votre environnement et prise en charge par votre fournisseur de stockage.

MTC prend en charge les fournisseurs de stockage suivants :

3.5.1. Conditions préalables

  • 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.

3.5.2. Récupération des informations d’identification de Multicloud Object Gateway

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

Procédure

  1. Obtenez le point de terminaison S3, AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY en exécutant la commandedescribe sur la ressource personnalisée NooBaa.

    Vous utilisez ces informations d’identification pour ajouter MCG comme référentiel de réplication.

3.5.3. Configuration d’Amazon Web Services

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

  1. Définissez la variable BUCKET :

    $ BUCKET=<your_bucket>
    Copy to Clipboard
  2. Définissez la variable REGION :

    $ REGION=<your_region>
    Copy to Clipboard
  3. Créez un compartiment AWS S3 :

    $ aws s3api create-bucket \
        --bucket $BUCKET \
        --region $REGION \
        --create-bucket-configuration LocationConstraint=$REGION 
    1
    Copy to Clipboard
    1
    us-east-1 ne prend pas en charge la contrainte d’emplacement (LocationConstraint). Si votre région est us-east-1, omettez --create-bucket-configuration LocationConstraint=$REGION.
  4. Créez un utilisateur IAM :

    $ aws iam create-user --user-name velero 
    1
    Copy to Clipboard
    1
    Si vous souhaitez utiliser Velero pour sauvegarder plusieurs clusters avec plusieurs compartiments S3, créez un nom d’utilisateur unique pour chaque cluster.
  5. Créez un fichier velero-policy.json :

    $ cat > velero-policy.json <<EOF
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ec2:DescribeVolumes",
                    "ec2:DescribeSnapshots",
                    "ec2:CreateTags",
                    "ec2:CreateVolume",
                    "ec2:CreateSnapshot",
                    "ec2:DeleteSnapshot"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:DeleteObject",
                    "s3:PutObject",
                    "s3:AbortMultipartUpload",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket",
                    "s3:GetBucketLocation",
                    "s3:ListBucketMultipartUploads"
                ],
                "Resource": [
                    "arn:aws:s3:::${BUCKET}"
                ]
            }
        ]
    }
    EOF
    Copy to Clipboard
  6. Attachez les politiques pour donner à l'utilisateur velero les permissions minimales nécessaires :

    $ aws iam put-user-policy \
      --user-name velero \
      --policy-name velero \
      --policy-document file://velero-policy.json
    Copy to Clipboard
  7. Créez une clé d’accès pour l’utilisateur velero :

    $ aws iam create-access-key --user-name velero
    Copy to Clipboard

    Exemple de sortie

    {
      "AccessKey": {
            "UserName": "velero",
            "Status": "Active",
            "CreateDate": "2017-07-31T22:24:41.576Z",
            "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>,
            "AccessKeyId": <AWS_ACCESS_KEY_ID>
      }
    }
    Copy to Clipboard

    Enregistrez AWS_SECRET_ACCESS_KEY et AWS_ACCESS_KEY_ID. Vous utilisez les informations d’identification pour ajouter AWS comme référentiel de réplication.

3.5.4. Configuration de Google Cloud Platform

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 gcloud et gsutil soient 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

  1. Connectez-vous à GCP :

    $ gcloud auth login
    Copy to Clipboard
  2. Définissez la variable BUCKET :

    $ BUCKET=<bucket> 
    1
    Copy to Clipboard
    1
    Indiquez le nom de votre compartiment.
  3. Créez le compartiment de stockage :

    $ gsutil mb gs://$BUCKET/
    Copy to Clipboard
  4. Définissez la variable PROJECT_ID sur votre projet actif :

    $ PROJECT_ID=$(gcloud config get-value project)
    Copy to Clipboard
  5. Créez un compte de service :

    $ gcloud iam service-accounts create velero \
        --display-name "Velero service account"
    Copy to Clipboard
  6. Répertoriez vos comptes de service :

    $ gcloud iam service-accounts list
    Copy to Clipboard
  7. Définissez la variable SERVICE_ACCOUNT_EMAIL pour qu’elle corresponde à sa valeur email :

    $ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \
        --filter="displayName:Velero service account" \
        --format 'value(email)')
    Copy to Clipboard
  8. Attachez les politiques pour donner à l'utilisateur velero les permissions minimales nécessaires :

    $ ROLE_PERMISSIONS=(
        compute.disks.get
        compute.disks.create
        compute.disks.createSnapshot
        compute.snapshots.get
        compute.snapshots.create
        compute.snapshots.useReadOnly
        compute.snapshots.delete
        compute.zones.get
    )
    Copy to Clipboard
  9. 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[*]}")"
    Copy to Clipboard
  10. 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
    Copy to Clipboard
  11. Mettez à jour le compte de service IAM :

    $ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
    Copy to Clipboard
  12. Enregistrez les clés du compte de service IAM dans le fichier credentials-velero du répertoire actuel :

    $ gcloud iam service-accounts keys create credentials-velero \
        --iam-account $SERVICE_ACCOUNT_EMAIL
    Copy to Clipboard

    Vous utilisez le fichier credentials-velero pour ajouter GCP comme référentiel de réplication.

3.5.5. Configuration de Microsoft Azure

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

  1. Connectez-vous à Azure :

    $ az login
    Copy to Clipboard
  2. Définissez la variable AZURE_RESOURCE_GROUP :

    $ AZURE_RESOURCE_GROUP=Velero_Backups
    Copy to Clipboard
  3. Créez un groupe de ressources Azure :

    $ az group create -n $AZURE_RESOURCE_GROUP --location CentralUS 
    1
    Copy to Clipboard
    1
    Indiquez votre emplacement.
  4. Définissez la variable AZURE_STORAGE_ACCOUNT_ID :

    $ AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
    Copy to Clipboard
  5. Créez un compte de stockage Azure :

    $ az storage account create \
        --name $AZURE_STORAGE_ACCOUNT_ID \
        --resource-group $AZURE_RESOURCE_GROUP \
        --sku Standard_GRS \
        --encryption-services blob \
        --https-only true \
        --kind BlobStorage \
        --access-tier Hot
    Copy to Clipboard
  6. Définissez la variable BLOB_CONTAINER :

    $ BLOB_CONTAINER=velero
    Copy to Clipboard
  7. Créez un conteneur de stockage Azure Blob :

    $ az storage container create \
      -n $BLOB_CONTAINER \
      --public-access off \
      --account-name $AZURE_STORAGE_ACCOUNT_ID
    Copy to Clipboard
  8. Créez des informations d’identification et un principal de service pour velero :

    $ AZURE_SUBSCRIPTION_ID=`az account list --query '[?isDefault].id' -o tsv` \
      AZURE_TENANT_ID=`az account list --query '[?isDefault].tenantId' -o tsv` \
      AZURE_CLIENT_SECRET=`az ad sp create-for-rbac --name "velero" \
      --role "Contributor" --query 'password' -o tsv` \
      AZURE_CLIENT_ID=`az ad sp list --display-name "velero" \
      --query '[0].appId' -o tsv`
    Copy to Clipboard
  9. Enregistrez les informations d’identification du principal du service dans le fichier credentials-velero :

    $ cat << EOF > ./credentials-velero
    AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
    AZURE_TENANT_ID=${AZURE_TENANT_ID}
    AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
    AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
    AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
    AZURE_CLOUD_NAME=AzurePublicCloud
    EOF
    Copy to Clipboard

    Vous utilisez le fichier credentials-velero pour ajouter Azure comme référentiel de réplication.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat