Définir les dépôts de données

Dans le cadre du processus de migration, les informations sont écrites dans différents dépôts de données :

  • Pour l'intent de migration d'images, un fichier image Docker contenant le disque de VM migré est écrit dans un registre Docker. Ce dépôt n'est pas nécessaire pour effectuer une migration avec l'intent Data.
  • Les artefacts de migration qui représentent la charge de travail migrée sont écrits dans un deuxième dépôt. Les artefacts incluent les fichiers de configuration YAML que vous pouvez utiliser pour déployer les charges de travail migrées, ainsi que d'autres fichiers.

Afficher l'état du dépôt

Après l'installation, vous pouvez valider l'installation en exécutant la commande migctl doctor. Dans le cadre de cette validation, la commande "migctl doctor" vérifie l'état des dépôts :

migctl doctor

Dans l'exemple de résultat suivant de la commande "migctl doctor", la coche indique que Migrate a été déployé avec succès, mais que vous n'avez pas encore configuré les dépôts de données nécessaires :

  [✓] Deployment
  [!] Docker Registry
  [!] Artifacts Repo
  [!] Source Status

Après avoir configuré les dépôts, vous pouvez exécuter à nouveau la commande "migctl doctor" pour vous assurer qu'ils sont correctement configurés :

  [✓] Deployment
  [✓] Docker registry
  [✓] Artifacts repo
  [!] Source Status

Zone du dépôt

L'emplacement des dépôts de données peut avoir une incidence sur les performances et le coût de la migration. Par exemple, en cas de migration d'intent Image, l'image Docker containerDisk contenant une copie du disque de la VM peut être volumineuse. L'écriture de cette image Docker dans Container Registry sur Google Cloud entraîne une latence des performances pour l'importation des données, ainsi que le coût de stockage de ces données. Il peut être plus efficace de définir un registre Docker local sur le cluster Anthos sur solution Bare Metal.

Compatibilité avec TLS

Certains dépôts sont accessibles à l'aide de TLS/SSL via HTTPS. Si la connexion HTTPS au dépôt utilise un certificat autosigné, vous devez transmettre un fichier PEM contenant l'un des éléments suivants lors de la configuration du dépôt :

  • Clé publique du certificat autosigné.
  • Concaténation du certificat racine et de tous les certificats intermédiaires jusqu'au certificat de serveur actuel.

Configurer un registre Docker

Utilisez la commande "migctl" pour configurer un registre Docker. La commande "migctl" vous permet d'effectuer les actions suivantes sur une configuration de registre :

  • Créer
  • Mettre à jour
  • Supprimer
  • Liste
  • Par défaut

Vous pouvez définir plusieurs registres. Utilisez la commande migctl docker-registry list pour afficher les registres définis, y compris les registres par défaut. Utilisez la commande migctl docker-registry set-default pour définir le registre par défaut. L'exemple suivant montre comment configurer un registre Docker GCR :

migctl docker-registry create gcr REGISTRY_NAME --project <project-id> --json-key=key.json

Remplacez les éléments suivants :

  • REGISTRY_NAME est le nom défini par l'utilisateur de la configuration de registre Docker.
  • PROJECT_ID est votre ID de projet Google.
  • KEY.JSON est le nom du fichier de clé JSON du compte de service permettant d'accéder à Container Registry et à Cloud Storage, comme décrit dans la section Configurer un compte de service.

Pour mettre à jour ultérieurement la configuration du registre, exécutez la commande migctl docker-registry update avec les mêmes arguments que ceux utilisés pour la créer :

migctl docker-registry update gcr <registry-name> <same-flags-as-create>

Lorsque vous configurez un registre Docker, il devient le registre par défaut. Cependant, plusieurs registres peuvent être définis. Pour afficher la liste actuelle des registres :

migctl docker-registry list

Pour définir la configuration du registre par défaut, utilisez la commande suivante :

migctl docker-registry set-default <registry-name>

Pour supprimer une configuration de registre :

migctl docker-registry delete <registry-name>

Configurer un dépôt d'artefacts

Utilisez la commande migctl pour configurer un dépôt d'artefacts. La commande migctl vous permet d'effectuer les actions suivantes sur une configuration de dépôt :

  • Créer
  • Mettre à jour
  • Supprimer
  • Liste
  • Par défaut

Vous pouvez définir plusieurs dépôts. Migrate utilise la configuration actuellement définie comme configuration par défaut. Utilisez la commande migctl artifacts-repo list pour afficher les configurations actuelles, y compris la configuration par défaut. Exécutez la commande migctl artifacts-repo set-default pour définir la configuration par défaut.

L'exemple suivant montre comment configurer un dépôt d'artefacts sur Google Cloud Storage :

migctl artifacts-repo create gcs <repository-name> --bucket-name <bucket-name> --json-key=key.json

Où :

  • repository-name est le nom défini par l'utilisateur de la configuration du dépôt d'artefacts.
  • bucket-name spécifie un bucket existant dans le dépôt Cloud Storage. Si vous ne disposez d'aucun bucket, créez-en un en suivant les instructions de la section Créer des buckets. Remarque : Lors de l'installation de Migrate, le programme d'installation crée automatiquement un bucket par défaut nommé GCP_PROJECT-migration-artifacts où :
    • project-id est votre ID de projet Google.
    • key.json est le nom du fichier de clé JSON du compte de service permettant d'accéder à Container Registry et à Cloud Storage, comme décrit dans la section Configurer un compte de service.

Pour mettre à jour ultérieurement la configuration du dépôt, exécutez la commande migctl artifacts-repo update avec les mêmes arguments que ceux utilisés pour la créer :

migctl artifacts-repo update gcs <repository-name> <same-flags-as-create>

Lorsque vous configurez un dépôt d'artefacts, il devient le dépôt par défaut. Cependant, plusieurs dépôts peuvent être définis. Pour afficher la liste actuelle des dépôts :

migctl artifacts-repo list

Pour définir la configuration de dépôt par défaut, utilisez la commande suivante :

migctl artifacts-repo set-default <repository-name>

Pour supprimer une configuration de dépôt :

migctl artifacts-repo delete <repository-name>