适用于 Linux 的 Migrate to Containers CLI 参考文档

m2c 是一个命令行工具,可让您在本地机器上设置和执行迁移。

m2c

Migrate to Containers 的命令行界面。

按照以下四步流程,快速对工作负载进行现代化改造:

  1. 在本地从来源机器复制文件系统。

  2. 分析文件系统以创建现代化改造方案。

  3. 修改方案以自定义现代化工件。

  4. 生成现代化工件。

摘要

m2c COMMAND [options]

标志

-q,--quiet
不输出任何内容
-v,--verbose
显示详细输出

命令

命令 说明
m2c analyze 分析给定文件系统中的工作负载配置。
m2c cleanup 清理来源文件系统。
m2c completion 为指定的 shell 生成自动补全脚本。
m2c config 查看和修改配置属性
m2c copy 在本地复制虚拟机的文件系统。
m2c generate 通过给定文件系统生成迁移工件。
m2c help 关于任何命令的帮助
m2c migrate-data 将数据从本地机器迁移到 PVC。
m2c plugins 管理迁移插件
m2c version 打印 CLI 版本

m2c analyze

分析包含给定插件的给定文件系统中的工作负载配置。

生成的现代化改造方案可在给定输出目录下的 config.yaml 文件中获取。

摘要

m2c analyze --source COPIED_FILESYSTEM_PATH --plugin PLUGIN_NAME --output OUTPUT_DIR [options]

标志

-o,--output path
可用作 m2c generate 命令输入的输出路径
-r,--parameter name=value
插件分析参数,格式为“名称=值”。可以多次指定
-p,--plugin name
插件名称
-s,--source path
m2c copy 命令生成的文件系统的路径
--volume localPath:remotePath
绑定以“localPath:remotePath”格式将文件或目录装载到容器中。可以多次指定

m2c cleanup

清理由复制命令创建的来源文件系统。

摘要

m2c cleanup -s SOURCE

标志

-s,--source path
m2c copy 创建的来源的路径

m2c completion

针对指定 shell,为 m2c 生成自动补全脚本。

如需详细了解如何使用生成的脚本,请参阅每个子命令的帮助。

摘要

m2c completion

命令

命令 说明
m2c completion bash 为 bash 生成自动补全脚本
m2c completion fish 为 fish 生成自动补全脚本
m2c completion powershell 为 powershell 生成自动补全脚本
m2c completion zsh 为 zsh 生成自动补全脚本

m2c completion bash

为 bash shell 生成自动补全脚本。

此脚本依赖于“bash-completion”软件包。

如果尚未安装该软件包,您可以通过操作系统的软件包管理系统进行安装。

要在当前 shell 会话中加载 completion,请运行以下命令:

    source <(m2c completion bash)

要为每个新会话加载 completion,请执行以下命令一次:

Linux:

    m2c completion bash > /etc/bash_completion.d/m2c

macOS:

    m2c completion bash > $(brew --prefix)/etc/bash_completion.d/m2c

您需要启动一个新 shell,此设置才能生效。

摘要

m2c completion bash

标志

--no-descriptions
停用补全说明

m2c completion fish

为 fish shell 生成自动补全脚本。

要在当前 shell 会话中加载 completion,请运行以下命令:

    m2c completion fish | source

要为每个新会话加载 completion,请执行以下命令一次:

    m2c completion fish > ~/.config/fish/completions/m2c.fish

您需要启动一个新 shell,此设置才能生效。

摘要

m2c completion fish

标志

--no-descriptions
停用补全说明

m2c completion powershell

为 powershell 生成自动补全脚本。

要在当前 shell 会话中加载 completion,请运行以下命令:

    m2c completion powershell | Out-String | Invoke-Expression

如需为每个新会话加载 completion,请将上述命令的输出添加

到您的 Powershell 配置文件。

摘要

m2c completion powershell

标志

--no-descriptions
停用补全说明

m2c completion zsh

为 zsh shell 生成自动补全脚本。

如果您的环境中尚未启用 shell completion,您需要

启用它。您可以执行以下命令一次:

    echo "autoload -U compinit; compinit" >> ~/.zshrc

要在当前 shell 会话中加载 completion,请运行以下命令:

    source <(m2c completion zsh)

要为每个新会话加载 completion,请执行以下命令一次:

Linux:

    m2c completion zsh > "${fpath[1]}/_m2c"

macOS:

    m2c completion zsh > $(brew --prefix)/share/zsh/site-functions/_m2c

您需要启动一个新 shell,此设置才能生效。

摘要

m2c completion zsh

标志

--no-descriptions
停用补全说明

m2c config

查看和修改配置属性。

摘要

m2c config COMMAND

命令

命令 说明
m2c config get 输出配置属性的值。
m2c config list 输出所有配置属性及其值。
m2c config set 设置配置属性的值。
m2c config unset 将配置属性重置为默认值。

m2c config get

输出配置属性的值。

摘要

m2c config get KEY

m2c config list

输出所有配置属性及其值。

摘要

m2c config list

m2c config set

设置配置属性的值。

摘要

m2c config set KEY VALUE

m2c config unset

将配置属性重置为默认值。

摘要

m2c config unset KEY

m2c copy

在本地复制虚拟机的文件系统。

复制通过 rsync 来完成,可以使用 gcloud 或直接 SSH 执行。

摘要

m2c copy COMMAND

命令

命令 说明
m2c copy default-filters 显示复制操作所使用的默认 rsync 过滤条件
m2c copy gcloud 通过 gcloud 在本地复制 Google Cloud 虚拟机的文件系统。
m2c copy ssh 通过 ssh 将虚拟机的文件系统复制到本地机器。

m2c copy default-filters

显示复制操作所使用的默认 rsync 过滤条件。

这可用作通过 --filters 标志提供的自定义过滤条件文件的基础。

摘要

m2c copy default-filters

m2c copy gcloud

通过 gcloud 在本地复制 Google Cloud 虚拟机的文件系统。

摘要

m2c copy gcloud -p,--project PROJECT_ID -z,--zone ZONE -n,--vm-name VM_NAME -o,--output OUTPUT_PATH [options]

标志

--filters path
自定义 rsync 过滤条件文件的路径。替换默认过滤条件
--internal-ip
使用实例的内部 IP 地址(而非外部 IP 地址)连接到实例。您可以使用此标志在同一 VPC 网络上、通过 VPN 连接或是在两个对等互连 VPC 网络之间从一个实例连接到另一个实例。为了保证此连接正常工作,您必须配置网络和防火墙,以允许通过 SSH 连接到目标实例的内部 IP 地址。如需了解如何使用此标志,请参阅 https://cloud.google.com/compute/docs/instances/connecting-advanced#sshbetweeninstances
-o,--output path
所复制文件系统的输出路径
-p,--project project
Google Cloud 项目
--remote-sudo
在 rsync 的远程端使用 sudo。如果您传递的凭据不是适用于根用户,请使用此选项。如果未以超级用户身份运行,则无法复制整个文件系统。等同于将 --rsync-path 'sudo rsync' 传递给 rsync。
--tunnel-through-iap
通过 Cloud Identity-Aware Proxy 建立用于 TCP 转接的 SSH 连接隧道。如需了解详情,请参阅 IAP for TCP 转发文档 (https://cloud.google.com/iap/docs/tcp-forwarding-overview)。
-n,--vm-name name
虚拟机名称
-z,--zone zone
Google Cloud 可用区

m2c copy ssh

通过 ssh 将虚拟机的文件系统复制到本地机器。

摘要

m2c copy ssh [USER@]HOST -o,--output OUTPUT_PATH [options]

标志

--filters path
自定义 rsync 过滤条件文件的路径。替换默认过滤条件
-i,--identity-file key
包含用于身份验证的密钥的文件
-o,--output path
所复制文件系统的输出路径
--remote-sudo
在 rsync 的远程端使用 sudo。如果您传递的凭据不是适用于根用户,请使用此选项。如果未以超级用户身份运行,则无法复制整个文件系统。等同于将 --rsync-path 'sudo rsync' 传递给 rsync。

m2c generate

通过给定文件系统生成迁移工件。

这会利用上一次分析操作生成的迁移方案配置。

摘要

m2c generate -i ANALYSIS_DIRECTORY -o OUTPUT_PATH [options]

标志

-i,--input path
“m2c analyze”生成的目录的路径
-o,--output path
输出路径
--volume localPath:remotePath
绑定以“localPath:remotePath”格式将文件或目录装载到容器中。可以多次指定

m2c help

为应用中的任何命令提供帮助。

只需输入 m2c help [命令路径] 即可获取完整的详细信息。

摘要

m2c help [command]

m2c migrate-data

根据数据迁移计划,将数据从本地机器迁移到当前连接的集群上的 PVC。

摘要

m2c migrate-data -i INPUT_PATH [options]

标志

-i,--input path
m2c analyze 生成的目录的路径
-n,--namespace namespace
目标集群上目标 PVC 的命名空间

m2c plugins

摘要

m2c plugins COMMAND

命令

命令 说明
m2c plugins unpack 从本地文件导入插件。

m2c plugins unpack

从本地文件导入插件。

如需下载插件软件包文件,请参阅 https://cloud.google.com/migrate/containers/docs/m2c-cli/prepare-for-migration

摘要

m2c plugins unpack -i,--input PATH [options]

标志

-i,--input string
插件文件的路径
-r,--registry string
可用于目标集群的容器注册表。数据迁移过程使用的映像将推送到此注册表,以确保数据迁移正常进行,而无需从互联网上拉取映像。

m2c version

打印 CLI 版本

摘要

m2c version