Riferimento CRD
Puoi eseguire tutti gli aspetti di una migrazione modificando e applicando CRD invece di migctl
.
Questa sezione mostra il formato dei CRD utilizzati da Migrate to Containers.
CRD Migration
Applica un file .yaml di migrazione per creare una risorsa di migrazione. In un file .yaml di migrazione,
source-provider-name
è il nome di un file .yaml di SourceProvider creato in precedenza.
L'applicazione di un file .yaml di migrazione genera un file .yaml di WebSphereGenerateArtifactsFlow. Puoi quindi modificare o modificare questo file .yaml prima di eseguire la migrazione.
Il file .yaml di migrazione ha il formato seguente:
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 WebSphereGenerateArtifactsFlow
L'applicazione di un file .yaml di migrazione crea una risorsa di migrazione e un file .yaml di WebSphereGenerateArtifactsFlow. Ti consigliamo di esaminare e aggiornare il file .yaml WebSphereGenerateArtifactsFlow prima di eseguire la migrazione.
Il file .yaml di WebSphereGenerateArtifactsFlow ha il seguente formato:
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/
Dove:
Il valore del campo
image
definisce il nome e la posizione delle immagini create da una VM migrata. Per impostazione predefinita, al valore"image_name"
viene applicato automaticamente un tag corrispondente al timestamp della migrazione. Il formato di questo tag è:MM-DD-YYYY--hh:mm:ss
Puoi utilizzare il timestamp per differenziare le migrazioni. In alternativa, puoi applicare il tuo tag. Modifica il CRD e aggiungi il tag come mostrato di seguito:
name: "image_name:app1"
Il campo
deployment
specifica il nome dell'applicazione utilizzata nel filedeployment_spec.yaml
. Imposta questo campo su un valore univoco per ogni app nel CRD. Devi assicurarti di eseguire il deployment di ogni container di app con un proprio nome app univoco.includeSensitiveData
configura il modo in cui una migrazione gestisce una password per l'app. Se l'app è configurata per utilizzare una password, imposta questa proprietà:Se
false
, lo script .py utilizzato per creare l'app fa riferimento a una variabile contenente la password. Sta a te configurare correttamente la variabile prima di eseguire lo script di build.Se il criterio
true
è predefinito, incorpora la password di solo testo nello script di build .py per l'app.
CRD WebSphereGenerateArtifactsTask
Applicare un file .yaml WebSphereGenerateArtifactsTask per eseguire una migrazione. Devi specificare il nome del file .yaml di migrazione utilizzato per generare il file .yaml di WebSphereGenerateArtifactsFlow per eseguire la migrazione.
Il file .yaml di WebSphereGenerateArtifactsTask ha il seguente formato:
apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: WebSphereGenerateArtifactsTask metadata: name: task-name namespace: v2k-system spec: migration: name: migration-name
Imposta il valore del campo migration.name
per la migrazione sul nome specificato nel file YAML .yaml quando hai creato la migrazione.