migctl 参考文档

migctl 命令行工具用于在 Google Cloud 上设置和管理 Migrate for Anthos 迁移环境。

如需了解关键 migctl 命令的分步介绍以及如何进行简单迁移,请参阅快速入门

migctl

命令 说明
artifacts-repo 配置工件代码库
completion 生成 bash 完成脚本。
docker-registry 配置 Docker 注册表
doctor 检查 Migrate for Anthos 部署状态和相关配置
帮助 关于任何命令的帮助
migration 迁移操作。
setup 安装或卸载 Migrate for Anthos
source 管理对迁移来源的引用。
version 输出 Migrate for Anthos 和 migctl 的版本

摘要

migctl [-h]

标志

-h, --help
关于此命令的帮助。

备注

migctl 包含在 Cloud Shell 中

migctl artifacts-repo

命令 说明
migctl artifacts-repo create 创建工件代码库配置。
migctl artifacts-repo update 更新工件代码库配置。
migctl artifacts-repo delete 删除工件代码库配置。
migctl artifacts-repo list 列出工件代码库配置。
migctl artifacts-repo set-default 设置默认工件代码库配置。

另请参阅

定义数据存储区

migctl artifacts-repo create

创建工件代码库配置。

摘要

migctl artifacts-repo create gcs|s3|basic-auth repository-name flags

位置参数

repository-name

工件代码库配置的名称。

标志

-h, --help

关于此命令的帮助。

剩余标志基于注册表类型:

  • Cloud Storage

    migctl artifacts-repo create gcs repository-name --bucket-name bucket-name  --json-key=m4a-install.json

    其中:

    • repository-name 是用户定义的工件存储区配置的名称。

    • bucket-name 指定 Cloud Storage 存储区中的现有存储分区。如果您没有现有存储分区,请按照创建存储分区中的说明创建一个存储分区。

      注意:在 Google Cloud 上的集群上安装 Migrate for Anthos 时,Migrate for Anthos 安装程序会自动创建名称如下的默认存储分区:

      GCP_PROJECT-migration-artifacts

      其中 GCP_PROJECT 是 Google 项目 ID。但是,在本地部署集群或 Anthos clusters on AWS 上安装 Migrate for Anthos 时,系统不会创建默认存储分区。您必须自己创建存储分区。

    • m4a-install.json 是用于访问 Container Registry 和 Cloud Storage 的服务帐号的 JSON 密钥文件的名称,如配置服务帐号中所述。

  • S3

    migctl artifacts-repo create s3 repository-name --bucket-name bucket-name --region aws-region --access-key-id=key-id

    系统会提示您输入 key-id 的 Secret 密钥。

    或者,指定凭据文件的路径:

    migctl artifacts-repo create s3 repository-name --bucket-name bucket-name --region aws-region --credentials-file-path file-path 

    其中:

    • repository-name 是用户定义的工件存储区配置的名称。

    • bucket-name 指定 S3 存储区中的现有存储分区。如果您当前没有存储分区,请按照使用 Amazon S3 存储分区中的说明创建一个存储分区。

    • aws-region 指定存储区的 AWS 区域。只要集群有权访问存储区,处理集群和存储区就可以位于不同区域。

    • key-id 指定访问密钥。如需了解详情,请参阅管理 IAM 用户的访问密钥

    • file-path 指定从 AWS 控制台下载的 CSV 文件的路径(该文件包含凭据)。如需详细了解如何创建 CSV 文件,请参阅配置 AWS IAM 组和实例角色

示例

  • Cloud Storage

    migctl artifacts-repo create gcs myRepository --json-key=m4a-install.json
  • S3

    migctl artifacts-repo create s3 myRepository ---bucket-name bucket-name --region aws-region --access-key-id=key-id

migctl artifacts-repo update

更新工件代码库配置。

摘要

migctl artifacts-repo update gcs|s3|basic-auth repository-name same-flags-as-create

位置参数

repository-name

工件代码库配置的名称。

标志

same-flags-as-create

给更新注册表配置指定用于创建注册表配置的相同标志(如上文 migctl artifacts-repo create 所示)。

migctl artifacts-repo delete

删除工件代码库配置。

摘要

migctl artifacts-repo delete repository-name

位置参数

repository-name

工件代码库配置的名称。

标志

-h, --help

关于此命令的帮助。

migctl artifacts-repo list

列出当前配置的代码库,包括当前的默认代码库。

摘要

migctl artifacts-repo list

标志

-h, --help

关于此命令的帮助。

migctl artifacts-repo set-default

设置默认工件代码库,表示处理集群使用的活跃注册表。

摘要

migctl artifacts-repo set-default repository-name

位置参数

repository-name

工件代码库配置的名称。

标志

-h, --help

关于此命令的帮助。

migctl completion

生成 bash 完成脚本。

要加载 completion,请运行 . <(migctl completion bash)

要将 bash shell 配置为为每个会话加载 completion,请将以下代码添加到您的 ~/.bashrc 或 ~/.profile:. <(migctl completion bash)

摘要

migctl completion {bash | zsh}

位置参数

{bash | zsh}
要使用的 shell。

标志

-h, --help
关于此命令的帮助。

migctl docker-registry

命令 说明
migctl docker-registry create 创建 Docker 注册表配置。
migctl docker-registry update 更新 Docker 注册表配置。
migctl docker-registry delete 删除 ArtDocker 注册表配置。
mmigctl docker-registry list 列出 Docker 注册表配置。
migctl docker-registry set-default 设置默认 Docker 注册表配置。

另请参阅

定义数据存储区

migctl docker-registry create

创建 Docker 注册表配置。

摘要

migctl docker-registry create gcr|ecr|basic-auth registry-name flags

位置参数

registry-name

Docker 注册表配置的名称。

标志

-h, --help

关于此命令的帮助。

剩余标志基于注册表类型:

  • GCR

    migctl docker-registry create gcr registry-name --project project-id --json-key=m4a-install.json

    其中:

    • registry-name 是用户定义的 Docker 注册表配置的名称。

    • project-id 是 Google 项目 ID

    • m4a-install.json 是用于访问 Container Registry 和 Cloud Storage 的服务帐号的 JSON 密钥文件的名称,如配置服务帐号中所述。

  • ECR

    migctl docker-registry create ecr registry-name --registry-path url --access-key-id=key-id

    系统会提示您输入 key-id 的 Secret 密钥。

    或者,指定凭据文件的路径:

    migctl docker-registry create ecr registry-name --registry-path url --credentials-file-path file-path

    其中:

    • registry-name 是用户定义的 Docker 注册表配置的名称。

    • url 指定注册表路径的网址(不含 http://https:// 前缀)。

    • key-id 指定访问密钥。如需了解详情,请参阅管理 IAM 用户的访问密钥

    • file-path 指定从 AWS 控制台下载的 CSV 文件的路径(该文件包含凭据)。如需详细了解如何创建 CSV 文件,请参阅配置 AWS IAM 组和实例角色

  • Docker 注册表

    migctl docker-registry create basic-auth registry-name --registry-path url --username username --ca-pem-file ca-pem-filename

    其中:

    • registry-name 是用户定义的 Docker 注册表配置的名称。

    • url 指定注册表的网址(不含 http://https:// 前缀)。例如 localhost:8080/myregistry

    • username 用于注册表的基本身份验证凭据。 系统会提示您输入密码。

    • 如果注册表使用自签名证书,则 ca-pem-filename 指定包含公钥或完整 CA 链(意味着从中间 CA 证书直到根证书的串联)的 PEM 文件。例如:

      cat int1.pem int2.pem ... root.pem

示例

  • GCR

    migctl docker-registry create gcr myRegistry --project myproject --json-key=m4a-install.json
  • ECR

    migctl docker-registry create ecr myRegistry --registry-path myexample.com/registry --access-key-id=key-id
  • Docker 注册表

    migctl docker-registry create basic-auth myRegistry --registry-path myexample.com/registry --username user1 --pass pass1

    如果注册表使用自签名证书:

    migctl docker-registry create basic-auth myRegistry --registry-path myexample.com/registry --username user1 --pass pass1 --ca-file cert.pem

migctl docker-registry update

更新 Docker 注册表配置。

摘要

migctl docker-registry update gcr|ecr|basic-auth registry-name same-flags-as-create

位置参数

registry-name

Docker 注册表配置的名称。

标志

same-flags-as-create

给更新注册表配置指定用于创建注册表配置的相同标志(如上文 migctl docker-registry create 所示)。

migctl docker-registry delete

删除 Docker 注册表配置。

摘要

migctl docker-registry delete registry-name

位置参数

registry-name

Docker 注册表配置的名称。

标志

-h, --help

关于此命令的帮助。

migctl docker-registry list

列出当前配置的 Docker 注册表,包括当前的默认注册表。

摘要

migctl docker-registry list

标志

-h, --help

关于此命令的帮助。

migctl docker-registry set-default

设置默认的 Docker 注册表,表示处理集群使用的活跃注册表。

摘要

migctl docker-registry set-default registry-name

位置参数

registry-name

Docker 注册表配置的名称。

标志

-h, --help

关于此命令的帮助。

migctl doctor

检查 Migrate for Anthos 部署状态和相关配置。

摘要

migctl doctor

标志

-h, --help
关于此命令的帮助。

另请参阅

安装 Migrate for Anthos

示例

对进行 Migrate for Anthos 部署的响应。

migctl doctor
[✓] Deployment

migctl help

提供关于 migctl 工具的帮助。

如需详细了解某条命令,请使用“migctl [command] --help”。

摘要

migctl --help

标志

-h, --help
关于此命令的帮助。

migctl migration

命令 说明
migration create 创建迁移计划。
migration delete 删除迁移计划。
migration generate-artifacts 为给定迁移创建工件。
migration get 获取迁移计划规范。
migration get-artifacts 获取迁移工件,例如 Deployment/StatefulSet 规范 YAML 和 Dockerfile。
migration list 列出迁移。
migration status 获取迁移计划状态。
migration update 更新迁移计划。

migctl migration create

创建迁移计划。

迁移计划会定义迁移的具体细节,包括源平台、虚拟机 ID、项目名称等。

生成的迁移计划文件会被复制到运行该命令的机器,而不会应用到处理集群。如果需要,您可以先修改该文件,然后再用于迁移。

摘要

migctl migration create migration-name --source source-name --vm-id source-vm-id [--intent {ImageAndData | Image | Data}]  [--os-type type] [--no-comments] [--project project-name] [--zone source-vm-zone]

位置参数

migration-name
此迁移的名称。

标志

-i, --intent {ImageAndData | Image | Data}
要迁移的虚拟机的方面。
--no-comments
生成不带注释的 YAML 文件。
--os-type type
将操作系统指定为 Linux(默认)或 Windows
-p, --project project-name
替换默认 Compute Engine 来源虚拟机项目。
-s, --source source-name
使用 migctl source create 创建的来源的名称。
-v, --vm-id source-vm-id
来源虚拟机 ID。此值的形式取决于 source-name 中指定的来源平台。如需了解详情,请参阅命令示例。
-z, --zone source-vm-zone
替换默认 Compute Engine 来源虚拟机区域。
-h, --help
关于此命令的帮助。

示例

为 Compute Engine 虚拟机创建迁移计划,用于创建映像和导出数据卷。

migctl migration create --source my-ce-src --vm-id my-id --intent ImageAndData

为 VMware 虚拟机创建迁移计划,用于创建映像。

migctl migration create --source my-vmware-src --vm-id My_VMware_VM --intent Image

为 AWS 虚拟机创建迁移计划,用于导出数据卷。

migctl migration create --source my-aws-src --vm-id i-1234567890abcdef0 --intent Data

另请参阅

创建迁移

migctl migration delete

删除迁移计划。

此命令会删除您使用 migctl migration create 创建的迁移。

摘要

migctl migration delete migration-name

位置参数

migration-name
要删除的迁移的名称。

标志

-h, --help
关于此命令的帮助。

migctl migration generate-artifacts

为给定迁移创建工件。

例如,此命令会创建映像、数据卷、Dockerfile、部署 YAML 等。

摘要

migctl migration generate-artifacts migration-name

位置参数

migration-name
要为其创建工件的迁移的名称。

标志

-h, --help
关于此命令的帮助。

另请参阅

执行迁移

migctl migration get

获取迁移计划规范。

摘要

migctl migration get migration-name  [--output-file migration-yaml-file]

位置参数

migration-name
要获取其计划的迁移的名称。

标志

--output-file migration-yaml-file
输出迁移计划规范的 YAML 文件。
-h, --help
关于此命令的帮助。

migctl migration get-artifacts

获取迁移工件,例如 Deployment/StatefulSet 规范 YAML 和 Dockerfile。

摘要

migctl migration get-artifacts migration-name [--output-directory directory-path] [--overwrite]

位置参数

migration-name
要获取其工件的迁移。

标志

--output-directory directory-path
输出目录路径。默认值为“.”。
--overwrite
覆盖现有本地文件。
-h, --help
关于此命令的帮助。

另请参阅

检查已生成的部署文件

migctl migration list

列出迁移。

摘要

migctl migration list [--all-namespaces] [--watch]

标志

-A, --all-namespaces
列出所有命名空间的迁移。
-w, --watch
监视更改情况。
-h, --help
关于此命令的帮助。

另请参阅

监控迁移

migctl migration status

获取迁移计划状态。

摘要

migctl migration status migration-name  [--verbose] [--watch]

位置参数

migration-name
要获取其状态的迁移的名称。

标志

-v, --verbose
详细状态。
-w, --watch
监视更改情况。
-h, --help
关于此命令的帮助。

另请参阅

监控迁移

migctl migration update

更新迁移计划。

摘要

migctl migration update migration-name --file yaml-filename

位置参数

migration-name
要更新的迁移的名称。

标志

--file yaml-filename
YAML 文件(包含已更新的迁移计划)。
-h, --help
关于此命令的帮助。

另请参阅

监控迁移

migctl setup

命令 说明
setup install 在当前集群上安装 Migrate for Anthos。
setup uninstall 从集群中卸载 Migrate for Anthos。
setup proxy 配置 Migrate for Anthos 使用的 HTTPs 代理。

migctl setup install

在当前集群上安装 Migrate for Anthos。

摘要

migctl setup install [--cos-runtime] [--gkeop --json-key service-account-json] [--node-selectors string] [--tolerations string] [--version version-number]

标志

--cos-runtime
在具有 Container-Optimized OS 节点的工作负载集群上安装运行时支持。
--gkeop
为 Anthos clusters on VMware 安装 Migrate for Anthos。
--json-key service-account-json
具有为 Anthos clusters on VMware 安装 Migrate for Anthos 必要权限的服务帐号的 JSON 密钥文件。如需了解详情,请参阅为本地迁移创建服务帐号
--node-selectors string
Migrate for Anthos 部署的组件的节点选择器,形式为:LABEL1=VALUE1,LABEL2=VALUE2,....。如需了解详情,请参阅安装选项
--tolerations string
Migrate for Anthos 部署的组件的容忍设置,形式为:KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,....。如需了解详情,请参阅安装选项
--version version-number
要安装的 Migrate for Anthos 版本。
-h, --help
关于此命令的帮助。

示例

在处理集群上安装 Migrate for Anthos

migctl setup install

在具有 COS 节点的工作负载集群上安装运行时支持。

migctl setup install --cos-runtime

另请参阅

安装 Migrate for Anthos

migctl setup uninstall

从集群中卸载 Migrate for Anthos。

摘要

migctl setup uninstall [-f]

标志

-f
在迁移过程中强制卸载。
-h, --help
关于此命令的帮助。

示例

卸载 Migrate for Anthos。

migctl setup uninstall

在迁移过程中强制卸载 Migrate for Anthos。

migctl setup uninstall --force

另请参阅

卸载 Migrate for Anthos

migctl setup proxy

配置代理服务器以访问 Migrate for Anthos 代码库。Migrate for Anthos 仅支持通过 HTTPS 发送的代理请求。不支持 HTTP。

使用 HTTPS 代理时,Migrate for Anthos 不支持自签名证书。您必须通过 HTTPS 代理使用签名证书。

摘要

migctl setup proxy --https-proxy proxy-address
    [--proxy-basic-authentication] [--no-proxy address] [--remove]

标志

--https-proxy proxy-address
指定用于路由请求的 IP 或代理服务器地址,并省略 https:// 前缀。如果您的代理使用基本身份验证,则可以在 proxy-address 中包含用户名和密码。例如:
user:password@proxy-address
或者,您可以使用 --proxy-basic-authentication 选项在控制台中以交互方式指定这些值。
--no-proxy address
指定不使用代理的英文逗号分隔 IP 或网域的可选列表。
--remove
移除代理配置。
--proxy-basic-authentication
如果代理需要身份验证,请使用此选项以交互方式指定用户名和密码。然后,在您输入命令时,输入访问代理所需的用户名和密码。或者,您可以使用 --https-proxy 选项将这些值指定为 proxy-address 的一部分。
--h, --help
关于此命令的帮助。

示例

如需配置无需进行身份验证的 HTTPS 代理,请运行以下命令:

migctl setup proxy --https-proxy myproxy.com

如需配置 HTTPS 代理,同时指定未使用代理的网域,请运行以下命令:

migctl setup proxy --https-proxy myproxy.com --no-proxy localhost,mydomain.com

如果代理使用基本身份验证:

migctl setup proxy --https-proxy myproxy.com --proxy-basic-authentication

系统会提示您输入用户名和密码。

或者,您也可以在 proxy-address 中输入凭据:

migctl setup proxy --https-proxy user:pword@myproxy.com

如需移除代理配置,请运行以下命令:

migctl setup proxy --remove 

另请参阅

配置 HTTPS 代理

migctl source

执行与迁移来源相关的操作。

命令 说明
source create 将迁移来源添加到处理集群。
source delete 从处理集群中删除迁移来源。
source list 列出处理集群中的迁移来源配置。

migctl source create

将迁移来源添加到处理集群。

命令 说明
source create aws 将 AWS 作为迁移来源添加到处理集群。
source create azure 将 Azure 作为迁移来源添加到处理集群。
source create ce 将 Compute Engine 添加为迁移来源。
source create local-aws 将 AWS 作为迁移来源添加到 AWS 处理集群。
source create local-vmware 将 VMware 作为迁移来源添加到本地处理集群。
source create vmware 将 VMware 作为迁移来源添加到处理集群。

另请参阅

添加迁移来源

migctl source create aws

将 AWS 作为迁移来源添加到处理集群。

摘要

migctl source create aws name --cloud-details cloud-details --manager-address manager-address --cloud-extension cloud-extension

标志

-d, --cloud-details
在 Migrate for Compute Engine 中配置的来源的 Cloud Details 名称
--cloud-extension
Migrate for Compute Engine Cloud Extensions 扩展的 ID 或名称
--manager-address
Migrate for Compute Engine Manager 服务器的地址
-h, --help
关于此命令的帮助。

示例

将 AWS 添加为迁移来源。

migctl source create aws my-aws-src--manager-address 1.2.3.4 --cloud-extension my-cloud-extension --cloud-details my-aws-cloud-details

另请参阅

添加迁移来源

migctl source create azure

将 Azure 作为迁移来源添加到处理集群。

摘要

migctl source create azure name --cloud-details cloud-details --manager-address manager-address --cloud-extension cloud-extension

位置参数

name
来源的名称。

标志

-d, --cloud-details cloud-details
在 Migrate for Compute Engine 中配置的来源的 Cloud Details 名称
--cloud-extension cloud-extension
Migrate for Compute Engine Cloud Extensions 扩展的 ID 或名称
--manager-address manager-address
Migrate for Compute Engine Manager 服务器的地址
-h, --help
关于此命令的帮助。

示例

将 Azure 添加为迁移来源。

migctl source create azure my-azure-src--manager-address 1.2.3.4 --cloud-extension my-cloud-extension --cloud-details my-azure-cloud-details

另请参阅

添加迁移来源

migctl source create ce

将 Compute Engine 作为迁移来源添加到处理集群。

摘要

migctl source create ce name --project project [--json-key service-account-json ]

位置参数

name
来源的名称。

标志

--project project
Compute Engine 来源类型的默认项目。
--json-key service-account-json
用于创建 Compute Engine 来源的服务帐号的 JSON 密钥文件。如需了解详情,请参阅创建服务帐号以将 Compute Engine 用作迁移来源
-h, --help
关于此命令的帮助。

示例

将 Compute Engine 添加为迁移来源。

migctl source create ce my-ce-src --project myproject --zone us-west1-a

另请参阅

添加迁移来源

migctl source create local-aws

将 AWS 作为迁移来源添加到 AWS 处理集群。

摘要

migctl source create local-aws name --region region [--access-key-id key] [--credentials-file-path=credentials.csv] [flags]

位置参数

name
来源的名称。

标志

--region region
指定集群的 GCP 区域。
--access-key-id key
有权访问 AWS 的用户的 AWS 访问密钥 ID。 您必须指定 --access-key-id--credentials-file-path。系统会提示您输入访问密钥 ID 的 Secret。 如需了解详情,请参阅管理 IAM 用户的访问密钥
--credentials-file-path credentials.csv
从 AWS 控制台下载的 CSV 文件的路径(该文件包含凭据)。您必须指定 --access-key-id--credentials-file-path。如需详细了解如何创建 CSV 文件,请参阅配置 AWS IAM 组和实例角色
-h, --help
关于此命令的帮助。

示例

将 AWS 添加为迁移来源。

migctl source create local-aws local-aws-src --region my-region --access-key-id my-access-key-id

或者:

migctl source create local-aws local-aws-src --region my-region --credentials-file-path=credentials.csv

另请参阅

添加迁移来源

migctl source create local-vmware

将 VMware 作为迁移来源添加到本地处理集群。

摘要

migctl source create local-vmware name --vc vcenter --user user [flags]

位置参数

name
来源的名称。

标志

--vc host
指定 vCenter DNS 名称或 vCenter IP 地址。
--username user
有权访问 vCenter 的用户的名称。系统会提示您输入该用户的密码。
-h, --help
关于此命令的帮助。

示例

将 VMware 添加为迁移来源。

migctl source create local-vmware local-vmware-src --vc '1.2.3.4' --username 'admin'

另请参阅

添加迁移来源

migctl source create vmware

将 VMware 作为迁移来源添加到处理集群。

摘要

migctl source create vmware name --manager-address manager-ip --cloud-extension extension-name

位置参数

name
来源的名称。

标志

--cloud-extension extension-name
Migrate for Compute Engine Cloud Extensions 扩展的 ID 或名称。
--manager-address manager-ip
Migrate for Compute Engine 管理服务器的地址
-h, --help
关于此命令的帮助。

示例

将 VMware 添加为迁移来源。

migctl source create vmware my-vmware-src --manager-address 1.2.3.4 --cloud-extension my-cloud-extension

另请参阅

添加迁移来源

migctl source delete

从处理集群中删除迁移来源。

摘要

migctl source delete source-name [-f]

位置参数

source-name
要删除的来源的名称。这是您在使用 migctl source create 创建来源时指定的名称。

标志

-f
忽略错误并强制删除。
-h, --help
关于此命令的帮助。

示例

删除迁移来源。

migctl source delete my-source

尝试强制删除来源。

migctl source delete my-source -f

migctl source list

列出处理集群中的迁移来源配置。

摘要

migctl source list

标志

-h, --help
关于此命令的帮助。

migctl version

输出 Migrate for Anthos 和 migctl 的版本。

摘要

migctl version

标志

-h, --help
关于此命令的帮助。