一. Multipass 是什么?

Multipass 是一个轻量级 Linux 虚拟机命令行管理工具,反对 Linux、Windows 与 macOS。

二. 为什么要用 Multipass

  1. 可能以最小的老本和资源在本地疾速搭建具备残缺 Ubuntu 性能小型虚拟机集群(如测试 K8s各类个性、数据库小集群等)
  2. 能够不便疾速的做各类 Linux 试验,而不必放心把零碎搞坏,重建一个新零碎只有几分钟
  3. 实例通过命令行治理,对开发十分敌对,每个实例IP固定

三. 如何装置

Mac OS 装置

办法一:能够间接下载安装包装置

点击下载 Multipass 安装包

办法二:应用 Homebrew 装置

没有装置 Homebrew? 点击这里装置 Homebrew
brew install multipass

Linux 装置

应用 Snapcraft 装置

没有装置 Snapcraft? 点击这里装置 Snapcraft
sudo snap install multipass

Windows 10 装置

办法一:能够间接下载安装包装置

点击下载 Multipass 安装包

办法二:应用 Chocolatey 装置

没有装置 Chocolatey? 点击这里装置 Chocolatey
choco install multipass

四. 性能介绍

可在 Multipass 官网 查看具体应用文档。

-> ~ $ multipass help用法: multipass [options] <command>创立, 管制和连贯 Ubuntu 实例。multipass 命令行工具, 用于治理 ubuntu 实例。参数:  -h, --help     查看本帮忙内容  -v, --verbose  减少日志显示的具体水平。 通过在短参数中减少 'v' 来获取更多日志信息                 最多反对4个等级,如: -vvvv。可用的命令:  delete    删除实例  exec      在实例中执行命令  find      查找并列出可用于创立实例的镜像  get       获取某个配置项  help      查看帮忙  info      查看实例信息  launch    创立并启动实例  list      列出所有实例  mount     挂载文件夹到实例  purge     革除已删除的实例  recover   复原已删除的实例  restart   重启实例  set       设置某个配置项  shell     通过 shell 连贯实例  start     启动实例  stop      进行实例  suspend   挂起实例  transfer  在本机和实例之间传输文件  umount    移除实例中挂载的文件夹  version   查看版本号

五. 常见问题(以 MacOS 为例)

问题一:最开始设置的内存或 CPU 数量小了,想扩容,怎么办?

multipass 通过 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 中的配置来治理实例,可间接在这个配置文件中批改:
mem_size 来减少或缩小内存
num_cores 来减少或缩小CPU外围数

批改之前须要先进行 multipass 的过程,起因是 multipass 会在被敞开的时候将各个实例的状态写入到配置文件,所以在没有敞开 multipass 过程的时候批改配置文件,会被笼罩。

# 进行 multipassd 过程sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist# 编辑 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 文件# 须要 root 权限# 重新启动 multipassd 过程sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist

问题二:电脑意外关机,无奈启动实例,怎么办?

实例的启动敞开状态也保护在 /var/root/Library/Application Support/multipassd/multipassd-vm-instances.json 文件中的 state 字段,当电脑意外关机,state 字段不会被正确的保护,导致无奈启动或敞开实例,这时候,能够先进行 multipassd 过程,而后手动到配置文件中批改 state 为 0,即关机状态,保留配置文件,并启动 multipassd 实例即可,这时候就能够失常启动各个实例了。

问题三:能装置 Cent OS 实例么?

临时不能,该工具为 Ubuntu 背地的公司 Canonical 开发,目前仅反对 Ubuntu 零碎。

问题四:如果在实例之间传递文件?

最简略的形式是通过挂载雷同的文件夹到不同的实例中来共享文件。

参考

  1. multipass 官网