查看和自定义 Windows IIS 迁移计划
迁移过程的第一步是创建代表来源平台的迁移来源。迁移来源会添加到您的迁移计划中,您通常需要先查看和自定义迁移计划,然后再继续执行迁移。
准备工作
迁移命名要求
在 Migrate to Containers 中创建迁移时,您需要为迁移指定一个名称。名称必须符合以下要求:
- 最多包含 63 个字符。
- 只能包含小写字母数字字符或“-”(连字符)。
- 以字母数字字符开头。
- 以字母数字字符结尾。
创建迁移
如需创建迁移,请使用 migctl
或 Google Cloud 控制台,如以下示例所示。
migctl
Compute Engine
停止 Compute Engine 虚拟机。您必须先停止虚拟机,然后才能创建迁移。迁移完成后,您可以重启虚拟机。
创建迁移:
migctl migration create my-migration -p split-workloads --source my-ce-src --vm-id my-id --type=windows-iis-container
其中
--vm-id
用于指定如 Google Cloud Console 中所示的 Compute Engine 实例的名称。
CRD
创建一个迁移
my-migration.yaml
文件来定义迁移。在此文件中,
sourceProviderRef
下的name
字段指定先前创建的 SourceProvider 的名称,sourceId
字段指定 Compute Engine 实例的名称:apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: windows-iis-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
如果要迁移 Compute Engine 虚拟机,请停止该虚拟机。您必须先停止虚拟机,然后才能创建迁移。迁移完成后,您可以重启虚拟机。
应用此文件:
kubectl apply -f my-migration.yaml
控制台
停止 Windows Compute Engine 虚拟机。您必须先停止虚拟机,然后才能创建迁移。迁移完成后,您可以重启虚拟机。
打开 Google Cloud 控制台中的 Migrate to Containers 页面。
点击迁移标签页以显示包含可用迁移的表。
点击创建迁移。
输入迁移名称。
选择您在添加迁移来源中创建的迁移来源。来源类型必须为 Compute Engine,并且源处理集群必须配置为支持迁移 Windows IIS 应用。
将工作负载类型设置为 Windows IIS 容器。
输入来源虚拟机 ID,即 Google Cloud Console 中显示的虚拟机名称。
点击创建迁移。
迁移创建完成后,状态列会显示已生成迁移计划。
监控迁移创建
使用 migctl
工具或 Google Cloud Console 监控创建迁移的进度。
migctl
等待迁移完成:
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateMigrationPlan [1/3] CreateSourceSnapshots Running 13s
重启 Compute Engine 虚拟机。您必须先停止虚拟机,然后才能创建迁移。迁移完成后,您可以重启虚拟机。
CRD
使用 kubectl
通过指定必填字段的 JSONPath 来获取迁移信息和状态 MigrationStatus。
等待迁移创建阶段结束:
使用两个
kubectl wait
命令,一个用于等待“准备就绪”条件,另一个用于“失败”条件。迁移计划创建阶段会运行,直到满足第一个条件。unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]} kill ${pids[@]/$met_pid} # terminate the process that did not complete.
等待命令完成后,操作已完成,您可以继续执行下一步。
获取迁移计划状态:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration
如果迁移计划已准备就绪,则返回
True
,如果迁移计划失败,则返回False
。迁移计划失败时,请使用以下命令获取错误消息:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration
如果要迁移 Compute Engine 虚拟机,请先重启它。完成此步骤后无需停止虚拟机。
控制台
当迁移状态显示迁移已创建后,您可以继续执行下一步:
打开 Google Cloud 控制台中的 Migrate to Containers 页面。
点击迁移标签页以显示包含可用迁移的表。
通过以下方式查看迁移状态:
查看迁移对应的行的状态列。
点击迁移名称。迁移详情页面随即打开。点击监控标签页查看详细状态,或点击事件标签页以查看迁移事件。
迁移创建完成后,状态将显示已生成迁移计划。
您现在可以根据需要重启 Windows Compute Engine 虚拟机。您必须先停止虚拟机,然后才能创建迁移。