安装 Migrate to Containers

本主题介绍如何在处理集群上安装 Migrate to Containers。

处理集群是安装了 Migrate to Containers 组件的 Google Kubernetes Engine (GKE)GKE Enterprise 集群,您可以在将虚拟机部署到生产集群之前使用处理集群来迁移虚拟机。

按照本主题中的步骤操作,您可以使用 migctl 命令行工具或 Google Cloud 控制台在您已创建的 GKE 集群上安装必需的 Migrate to Containers 组件。

将迁移后的虚拟机作为映像部署到生产集群后(假设不再需要处理集群),您可删除该处理集群。

关于 migctl

除了 Google Cloud 控制台中的支持之外,Migrate to Containers 还包含 migctl 命令行工具,您可以使用该工具执行迁移的所有相关操作:

如需了解如何下载 migctl,请参阅 Migrate to Containers 下载

须知事项

安装 Migrate to Containers

Google Cloud 上的 migctl

使用 migctl 命令安装 Migrate to Containers,并通过迁移所需的基础信息对其进行配置。

  1. 确保您已按照配置服务账号中所述创建了用于访问 Container Registry 和 Cloud Storage 的服务账号,并下载 JSON 密钥文件。

  2. 访问 Google Cloud 控制台中的 GKE 菜单。

    访问 GKE 菜单

  3. 在集群列表中,找到要用作处理集群的集群,然后点击其连接按钮。

  4. 连接到集群对话框的命令行访问权限下,点击在 Cloud Shell 中运行,从而在 Cloud Shell 中运行连接命令。

    gcloud container clusters get-credentials my-cluster --zone us-central1-c --project my-project
    
  5. 通过在 Cloud Shell 中运行 migctl setup install 命令并指定安装服务账号,为处理集群设置 Migrate to Containers 组件:

    migctl setup install --json-key=m4a-install.json
    
  6. 通过运行 migctl doctor 命令来验证 Migrate to Containers 安装。

    安装完成之前,您可能会看到如下所示的消息。如果这样,请等待几分钟,等安装完成后再运行 migctl doctor

    migctl doctor
    [!] Deployment
        Validation checks failed.
    

    以下示例输出中的对勾标记表示 Migrate to Containers 已成功部署,并且必要的数据存储区已配置完毕。

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

    如果存在与 Docker 注册表或工件存储区相关的错误,请参阅定义数据存储区

Google Distributed Cloud Virtual for Bare Metal 上的 migctl

  1. 设置默认项目 ID
    gcloud config set project project-id
  2. 在管理员工作站上部署 migctl
    wget https://modernize-release.storage.googleapis.com/v1.15.0/linux/amd64/migctl
    sudo cp migctl /usr/local/bin/
    sudo chmod +x /usr/local/bin/migctl
    . <(migctl completion bash)
  3. 通过运行 migctl setup install 命令,在处理集群上设置 Migrate to Containers 组件:
    migctl setup install --anthos-bm --gcp-project myproject --gcp-region us-central1 --json-key m4a-install.json
    如果提供了所有参数(包括 --gcp-project--gcp-region--json-key),migctl 将分别在 Container Registry 和 Cloud Storage 中创建默认 Docker 注册表和工件代码库。这意味着迁移映像和工件都将上传到 Google Cloud。您也可以配置其他 Docker 注册表并将其设为迁移默认项,或将其设置为用于特定迁移。
  4. 通过运行 migctl doctor 命令验证 Migrate to Containers 安装。安装完成之前,您可能会看到如下所示的消息。如果这样,请等待几分钟,等安装完成后再运行 migctl doctor
    migctl doctor
      [!] Deployment
          Validation checks failed.
    在以下示例输出中,对勾标记表示 Migrate to Containers 已成功部署,但您尚未配置必要的数据存储区:
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. 按照定义数据存储区中的说明配置集群所需的数据存储区。
  6. 如有必要,请按照配置 HTTPS 代理中的说明,配置 HTTPS 代理用于出站互联网访问。

控制台

  1. 打开 Google Cloud 控制台中的 Migrate to Containers 页面。

    前往 Migrate to Containers 页面

  2. 点击处理集群标签页以显示包含可用集群的表。

  3. 点击添加处理集群

  4. 选择要作为 LinuxWindows 迁移的工作负载类型,然后选择下一步

  5. 从下拉列表中选择集群,然后选择下一步

  6. 选择用于工件存储库的存储桶。

    默认情况下,Migrate to Containers 在使用 Cloud Storage 时会使用指定的存储桶名称。您可以选择在此处设置存储桶名称。确保您已查看定义数据存储桶中所述的要求。

  7. 选择映像存储库项目名称。

    默认情况下,Migrate to Containers 在使用 Container Registry 时会使用当前项目。您可以在选择性此处更改项目名称。确保您已查看定义数据存储桶中所述的要求。

  8. 点击继续

  9. 指定用于访问 Cloud Storage 的工件代码库 服务账号。您可以创建新的服务账号,也可以选择现有的账号。如需了解详情,请参阅配置服务账号

  10. 点击继续以查看您的设置,然后点击部署以在集群上安装 Migrate to Containers。

  11. 安装完成后,您会在处理集群标签页上看到状态为就绪的集群名称。

安装选项

您可以创建多种大小和配置的集群。例如,您可能有一个包含多个节点池的集群。然后,将一个节点池用于处理迁移,一个节点池用于运行工作负载,另一个节点池用于其他操作。

默认情况下,Migrate to Containers 会安装在所有集群节点上。如需控制 Migrate to Containers 使用哪些节点,您可以使用 migctl setup install 命令的 --node-selectors--tolerations 选项:

  • --node-selectors LABEL1=VALUE1,LABEL2=VALUE2,...

    指定标签值对列表(以英文逗号分隔),用于确定 Migrate to Containers 使用的节点。如需详细了解如何使用标签,请参阅创建和管理标签

  • --tolerations KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,...

    指定与效果关联的键值对列表(以英文逗号分隔),共同指定“节点污点”。容忍设置意味着 pod 可以在由键值对和效果指定的节点污点上运行。

    如果省略 EFFECT 和/或 VALUE,则容忍设置将与 KEY,VALUE(对于任何 EFFECT)和/或 KEY(对于任何 VALUE:EFFECT)匹配污点。

    如需详细了解节点污点,请参阅使用节点污点控制调度

后续步骤