migctl 参考文档
migctl
是一种命令行工具,用于在 Google Cloud 上设置和管理 Migrate to Containers 迁移环境:
在 Google Cloud 中使用 Google Kubernetes Engine (GKE) 或 GKE Enterprise 处理集群时,请通过 Cloud Shell 运行
migctl
。使用 GKE 处理集群时,您可以在管理员工作站上安装并运行
migctl
,如安装 Migrate to Containers 中所述。
如需了解关键 migctl
命令的分步介绍以及如何进行简单迁移,请参阅快速入门。
migctl
命令 | 说明 |
---|---|
artifacts-repo | 配置工件代码库 |
completion | 生成 bash 完成脚本。 |
debug | 排查命令问题 |
debug collect-info | 下载 Sysreport 脚本 collect_sysreport.sh |
docker-registry | 配置 Docker 注册表 |
doctor | 检查 Migrate to Containers 部署状态和相关配置 |
帮助 | 关于任何命令的帮助 |
日志记录 | 配置日志记录 |
migration | 迁移操作 |
setup | 安装或卸载 Migrate to Containers |
source | 管理对迁移来源的引用 |
version | 输出 Migrate to Containers 和 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 to Containers 时,Migrate to Containers 安装程序会自动创建名称如下的默认存储桶:
PROJECT-migration-artifacts
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 的密钥。
或者,指定凭据文件的路径:
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 文件的路径(该文件包含凭据)。
示例
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 debug
命令 | 说明 |
migctl debug release-m4ce-vm | 发布 Migrate to Virtual Machines V4 虚拟机。 |
migctl debug collect-info | 下载 Sysreport 脚本 collect_sysreport.sh 。 |
migctl debug release-m4ce-vm
发布 Migrate to Virtual Machines V4 虚拟机,该虚拟机在迁移后可能没有响应。
摘要
migctl debug release-m4ce-vm -i VM_NAME -s SOURCE_PROVIDER_NAME
标志
-h, --help
- 关于此命令的帮助。
-i, --instance
- 来源虚拟机实例 ID。
-s, --source
- 使用
migctl source create
创建的来源的名称。
migctl debug collect-info
下载 Sysreport 脚本 collect_sysreport.sh
。然后,您可以运行该脚本来收集支持团队用来帮助您解决问题的信息。
此命令会将脚本下载到 /tmp/sysreportINDEX/collect_sysreport.sh
,其中 INDEX
是在创建临时目录时分配的随机后缀。
摘要
migctl debug collect-info
标志
-h, --help
- 关于此命令的帮助。
另请参阅
示例
下载 Sysreport collect_sysreport.sh
:
migctl debug collect-info Saved /tmp/sysreportINDEX/collect_sysreport.sh, please run it manually to collect sysreport
如需运行该脚本,请执行以下操作:
切换到
/tmp/sysreportINDEX
目录:cd /tmp/sysreportINDEX
运行
collect_sysreport.sh
脚本:./collect_sysreport.sh [-n NAMESPACE] [-o OUTPUT_DIRECTORY] [-m MIGRATION]
如需详细了解如何运行脚本,请参阅个性化支持。
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|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
其中:
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 链的 PEM 文件。这需要从中间 CA 证书直到根证书的串联。例如:
cat int1.pem int2.pem ... root.pem
示例
GCR
migctl docker-registry create gcr my-registry --project myproject --json-key=m4a-install.json
Docker 注册表
migctl docker-registry create basic-auth my-registry --registry-path myexample.com/registry --username user1 --password pass1
如果仓库使用自签名证书:
migctl docker-registry create basic-auth my-registry --registry-path myexample.com/registry --username user1 --password pass1 --ca-pem-file cert.pem
migctl docker-registry update
更新 Docker 注册表配置。
摘要
migctl docker-registry update gcr|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 to Containers 部署状态和相关配置。
摘要
migctl doctor
标志
-h, --help
- 关于此命令的帮助。
另请参阅
示例
对正常运行的 Migrate to Containers 部署的响应。
migctl doctor [✓] Deployment
migctl help
提供关于 migctl
工具的帮助。
如需详细了解某条命令,请使用“migctl [command] --help”。
摘要
migctl --help
标志
-h, --help
- 关于此命令的帮助。
migctl 日志记录
命令 | 说明 |
migctl 日志记录设置详细程度 | 设置后端的日志记录详细程度。 |
migctl 日志记录设置详细程度
使用任何非负整数设置后端的日志记录详细程度。
- 将级别设置为
0
可仅查看信息日志。 - 将级别设置为
1
或更高级别还可以查看调试日志。
摘要
migctl logging set-verbosity LEVEL [flags]
示例
设置详细程度以仅显示信息日志。
migctl logging set-verbosity 0
设置详细程度以显示大多数调试日志。
migctl logging set-verbosity 1
标志
-h, --help
- 关于此命令的帮助。
migctl migration
命令 | 说明 |
migration create | 创建迁移计划。 |
migration delete | 删除迁移计划。 |
migration generate-artifacts | 为给定迁移创建工件。 |
migration get | 获取迁移计划规范。 |
migration get-artifacts | 获取迁移工件,例如 Deployment/StatefulSet 规范 YAML 和 Dockerfile。 |
migration list | 列出迁移。 |
migration list-types | 列出可用的迁移类型。 |
migration status | 获取迁移计划状态。 |
migration update | 更新迁移计划。 |
migctl migration create
创建迁移计划。
迁移计划会定义迁移的具体细节,包括源平台、虚拟机 ID、项目名称等。
生成的迁移计划文件会被复制到运行该命令的机器,而不会应用到处理集群。如果需要,您可以先修改该文件,然后再用于迁移。
摘要
migctl migration create migration-name --source source-name --vm-id source-vm-id --type type [flags]
位置参数
migration-name
- 此迁移的名称。
标志
- -r、--artifacts-repository string
- 用于存储工件的工件代码库。
- -h, --help
- 关于创建的帮助
- --image-repository string
- 将映像上传到的映像代码库,用于上传映像的迁移。
- -l、--labels strings --labels=[KEY=VALUE,…]
- 要添加的标签键值对列表。键必须以小写字符开头,并且只能包含连字符 (-)、下划线 (_)、小写字符和数字。值只能包含连字符 (-)、下划线 (_)、小写字符和数字。
- -p、--parameters strings --parameters=[KEY=VALUE,…]
- 要添加的标签键值对列表
- -s、--source string
- 来源名称
- -t、--type string
- 迁移类型
- -v、--vm-id string
- 来源虚拟机 ID
示例
创建 Linux 虚拟机容器化的迁移计划。
migctl migration create my-migration-1 --source my-source --vm-id my-id --type linux-system-container
为运行 Tomcat 应用组件的虚拟机创建迁移计划。
migctl migration create my-migration-1 --source my-source --vm-id my-id --type tomcat-container
另请参阅
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 文件。
-r, --overwrite
- 覆盖迁移计划规范的现有输出 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]
标志
-A, --all-namespaces
- 列出所有命名空间的迁移。
-h, --help
- 关于此命令的帮助。
另请参阅
migctl migration list-types
列出可用的迁移类型
摘要
migctl migration list-types [flags]
标志
-h, --help
- 有关列表类型的帮助。
另请参阅
migctl migration status
获取迁移计划状态。
摘要
migctl migration status migration-name [--verbose]
位置参数
migration-name
- 要获取其状态的迁移的名称。
标志
-v, --verbose
- 详细状态。
-h, --help
- 关于此命令的帮助。
另请参阅
migctl migration update
更新迁移规范。
摘要
migctl migration update migration-name --main-config migration-spec.yaml --data-config data-spec.yaml
位置参数
migration-name
- 要更新的迁移的名称。
标志
--main-config migration-spec.yaml
- 包含已更新的迁移计划规范的 YAML 文件。
--data-config data-spec.yaml
- 包含已更新的数据配置规范的 YAML 文件。
-h, --help
- 关于此命令的帮助。
另请参阅
migctl setup
命令 | 说明 |
---|---|
setup install | 在当前集群上安装 Migrate to Containers。 |
setup uninstall | 从集群中卸载 Migrate to Containers。 |
设置升级 | 在集群上升级 Migrate to Containers。 |
setup proxy | 配置 Migrate to Containers 使用的 HTTPs 代理。 |
migctl setup install
在当前集群上安装 Migrate to Containers。
摘要
migctl setup install [--runtime] [--json-key service-account-json] [--node-selectors string] [--tolerations string] [--version version-number]
标志
--runtime
- 在具有 Container-Optimized OS 节点的工作负载集群上安装运行时支持。
--json-key service-account-json
- 具有安装 Migrate to Containers 所必需权限的服务账号的 JSON 密钥文件。如需了解详情,请参阅为迁移创建服务账号。
--node-selectors string
- 由 Migrate for Containers 部署的组件的节点选择器,格式为:
LABEL1=VALUE1,LABEL2=VALUE2,....
。如需了解详情,请参阅安装选项。 --tolerations string
- 由 Migrate for Containers 部署的组件的容忍设置,格式为:
KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,....
。如需了解详情,请参阅安装选项。 --version version-number
- 要安装的 Migrate to Containers 版本(默认值为“1.15.0”)。
-h, --help
- 关于此命令的帮助。
示例
在处理集群上安装 Migrate to Containers。
migctl setup install
在具有 COS 节点的工作负载集群上安装运行时支持。
migctl setup install --runtime
另请参阅
migctl setup uninstall
从集群中卸载 Migrate to Containers。
摘要
migctl setup uninstall [-f]
标志
-f
- 在迁移过程中强制卸载。
-h, --help
- 关于此命令的帮助。
示例
卸载 Migrate to Containers。
migctl setup uninstall
在迁移过程中强制卸载 Migrate to Containers。
migctl setup uninstall --force
另请参阅
migctl 设置升级
在集群上升级 Migrate to Containers。
摘要
migctl setup upgrade
标志
--runtime
- 在具有 COS 节点的工作负载集群上安装运行时支持。
-f, --force
- 如果任何迁移处于错误状态,请在升级过程中重新创建,看看是否可以完成。
--gcp-project string
- 用于上传到 Container Registry 和 Cloud Storage 的 Google Cloud 项目。
--gcp-region string
- 用于上传到 Cloud Storage 的 Google Cloud 区域。
--json-key string
- 用于上传到 Container Registry 和 Cloud Storage 的服务账号的 JSON 密钥。
--node-selectors string
- 由 Migrate to Containers 部署的组件的
node-selector
,格式为LABEL1=VALUE1,LABEL2=VALUE2,...
--skip-validation
- 替换集群部署验证。
--tolerations string
- 由 Migrate to Containers 部署的组件的容忍设置,格式为
KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,...
--version string
- 要安装的 Migrate to Containers 版本(默认值为“1.15.0”)。
-h, --help
- 关于此命令的帮助。
示例
将 Migrate to Containers 升级到当前版本。
migctl setup upgrade
将 Migrate to Containers 升级到特定版本。
migctl setup upgrade --version 1.15.0
另请参阅
migctl setup proxy
配置代理服务器以访问 Migrate to Containers 存储库。Migrate to Containers 仅支持通过 HTTPS 发送的代理请求。不支持 HTTP。
使用 HTTPS 代理时,Migrate to Containers 不支持自签名证书。您必须通过 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
另请参阅
migctl source
执行与迁移来源相关的操作。
命令 | 说明 |
---|---|
source create | 将迁移来源添加到处理集群。 |
source delete | 从处理集群中删除迁移来源。 |
source list | 列出处理集群中的迁移来源配置。 |
来源状态 | 获取处理集群的迁移来源状态。 |
migctl source create
将迁移来源添加到处理集群。
命令 | 说明 |
---|---|
source create compute-engine | 将 Compute Engine 添加为迁移来源。 |
source create local-vmware | 将 VMware 作为迁移来源添加到处理集群。 |
source create m2vm | 将 Migrate to Virtual Machines 作为迁移来源添加到处理集群。 |
另请参阅
migctl source create compute-engine
将 Compute Engine 作为迁移来源添加到处理集群。
摘要
migctl source create compute-engine 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 compute-engine my-ce-src --project myproject --zone us-west1-a
另请参阅
migctl source create local-vmware
将 VMware 作为迁移来源添加到处理集群。
摘要
migctl source create local-vmware name --vc vcenter --user user [flags]
位置参数
name
- 来源的名称。
标志
--dc datacenter
--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 m2vm
将 Migrate to Virtual Machines 作为迁移来源添加到处理集群。
摘要
migctl source create m2vm name --project m2vm-service-project --json-key path --location m2vm-service-location --m2vm-source m2vm-service-source [ --target-project target-project ][ --target-json-key path ] [ --target-zone target-zone ] [ --target-network target-network ] [ --target-subnet target-subnet ] [flags]
位置参数
name
- 来源的名称。
标志
-h, --help
- 有关 m2vm 的帮助。
--json-key string
- 用于 Migrate to Virtual Machines 项目的服务账号 json 密钥的路径。请参阅使用 Migrate to Virtual Machines 作为迁移来源。
--location string
- Migrate to Virtual Machines 服务位置,例如 us-central1。
--m2vm-source string
- Migrate to Virtual Machines 来源名称。
--project string
- Migrate to Virtual Machines 项目。
--target-json-key string
- 用于目标项目的服务账号 json 密钥的路径。如果留空,将与 Migrate to Virtual Machines 的 json 密钥相同。
--target-network string
- 克隆虚拟机部署的目标网络。
--target-project string
- 克隆虚拟机部署的目标项目。如果留空,将与 Migrate to Virtual Machines 项目相同。
--target-subnet string
- 克隆虚拟机部署的目标子网。
--target-zone string
- 克隆虚拟机部署的目标可用区。
示例
添加 Migrate to Virtual Machines 作为迁移来源。
migctl source create m2vm name --project m2vm-service-project --json-key m2vm-service-sa.json --location m2vm-service-location --m2vm-source m2vm-service-source
另请参阅
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 source list-vms
列出要迁移的虚拟机候选项。
摘要
migctl source list-vms [flags]
标志
--help
- 关于此命令的帮助。
--refresh
- 刷新库存,而不是使用缓存结果。
--wide
- 显示有关虚拟机的更多信息。
migctl 来源状态
获取处理集群的迁移来源状态。
摘要
migctl source status
标志
-h, --help
- 关于此命令的帮助。
-v, --verbose
- 此命令的详细输出。
migctl version
输出 Migrate to Containers 和 migctl
的版本。
摘要
migctl version
标志
-h, --help
- 关于此命令的帮助。