Documentation de référence sur CRD
Vous pouvez effectuer tous les aspects d'une migration en modifiant et en appliquant des objets CRD au lieu de migctl
.
Cette section présente le format des CRD utilisés par Migrate to Containers.
Migration CRD
Appliquez un fichier .yaml "Migration" pour créer une ressource de migration. Dans un fichier .yaml "Migration", source-provider-name
est le nom d'un fichier .yaml SourceProvider créé précédemment.
L'application d'un fichier .yaml de migration génère un fichier .yaml WebSphereGenerateArtifactsFlow. Vous pouvez ensuite modifier ce fichier .yaml avant d'exécuter la migration.
Le fichier .yaml "Migration" présente le format suivant :
apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: Migration metadata: name: migration-name namespace: v2k-system annotations: # The only supported Intent for a WAS VM is Image. anthos-migrate.cloud.google.com/initial-intent: Image spec: osType: "Linux" appType: websphere-traditional sourceSnapshot: sourceProvider: "source-provider-name" sourceId: "vm-id"
CRD WebSphereGenerateArtifacts
L'application d'un fichier .yaml de migration crée une ressource de migration et un fichier .yaml WebSphereGenerateArtifactsFlow. Vous devez examiner et mettre à jour le fichier .yaml WebSphereGenerateArtifactsFlow avant de procéder à la migration.
Le fichier .yaml WebSphereGenerateArtifactsFlow se présente au format suivant :
apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: WebSphereGenerateArtifactsFlow metadata: name: websphere-generate-artifacts-flow-id namespace: v2k-system annotations: anthos-migrate.cloud.google.com/always-retake-snapshot: "false" ownerReferences: - apiVersion: anthos-migrate.cloud.google.com/v1beta2 blockOwnerDeletion: true controller: true kind: Migration name: migration-name uid: id spec: appBinariesMigrationToolkit: applications: path: "string1" # List of shared libraries for the app as discovered by Migrate to Containers. sharedLibraries: - sharedLibrary1 sharedLibrary2 path: "string2" sharedLibraries: - sharedLibrary1 ibmMigrationToolkitForAppBinariesGcsPath: binaryAppScanner.jar # See description of includeSensitiveData below. includeSensitiveData: true | false # WAS traditional migrations do not support the "ImageAndData" or "Data" intent. intent: "Image" image: # imageRepository is optional. imageRepository: name: name of image repo spec base: "string" name: "image_name" deployment: appName: app-name # artifactsRepository is optional. artifactsRepository: name: spec: bucket: bucket_name credentials: type: gcs secret: secret folder: storage-folder-name/
Où :
La valeur du champ
image
définit le nom et l'emplacement des images créées à partir d'une VM migrée. Par défaut, un tag correspondant à l'horodatage de la migration est automatiquement appliqué à la valeur"image_name"
. Ce tag se présente au format suivant :MM-DD-YYYY--hh:mm:ss
Vous pouvez utiliser l'horodatage pour différencier les migrations. Vous pouvez également appliquer votre propre tag. Modifiez l'objet CRD et ajoutez le tag comme indiqué ci-dessous :
name: "image_name:app1"
Le champ
deployment
spécifie le nom de l'application utilisée dans le fichierdeployment_spec.yaml
. Définissez ce champ sur une valeur unique pour chaque application de la CRD. Vous devez veiller à déployer chaque conteneur d'applications avec son propre nom unique d'application.Le fichier
includeSensitiveData
configure la façon dont une migration gère un mot de passe d'application. Si l'application est configurée pour utiliser un mot de passe, définissez cette propriété :Si la valeur est
false
, le script .py utilisé pour créer l'application fait référence à une variable contenant le mot de passe. Il vous incombe de configurer correctement la variable avant d'exécuter le script de compilation.Si la valeur est
true
(valeur par défaut), intégrez le mot de passe en texte brut dans le script de compilation .py de l'application.
CRD WebSphereGenerateArtifactsTask
Appliquer un fichier .yaml "WebSphereGenerateArtifactsTask" pour exécuter une migration. Vous devez spécifier le nom du fichier .yaml Migration utilisé pour générer le fichier .yaml WebSphereGenerateArtifactsFlow pour exécuter la migration.
Le fichier .yaml WebSphereGenerateArtifactsFlow a le format suivant :
apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: WebSphereGenerateArtifactsTask metadata: name: task-name namespace: v2k-system spec: migration: name: migration-name
Définissez la valeur du champ migration.name
sur le nom spécifié dans le fichier .yaml Migration lors de la création de la migration.