Multipass中文文档-远程使用Multipass

Posted 但老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multipass中文文档-远程使用Multipass相关的知识,希望对你有一定的参考价值。

总目录(待翻译完完善)

1. 概览

2. 教程

3. 使用指引

   3.1 安装Multipass

     3.1.1 基于Linux

     3.1.2 基于macOS

     3.1.3 基于Windows

   3.2 管理实例

     3.2.1 创建实例

     3.2.2 修改实例

     3.2.3 使用实例

     3.2.4 使用实例命令别名

     3.2.5 与实例共享数据

     3.2.6 移除实例

   3.3 管理Multipass

     3.3.1 设置驱动

     3.3.2 授权客户端使用Multipass服务

     3.3.3 远程使用Multipass

     3.3.4 提高挂载性能

     3.3.5 使用Packer打包Multipass镜像

     3.3.6 设置图像界面

     3.3.7 使用不同的macOS终端

   3.4 问题排查

     3.4.1 连接日志

     3.4.2 网络问题排查


如何远程使用Multipass

这篇文档教学了如何远程使用Multipass. 这可能会很有用, 例如, 如果你想将你的VM运行在更强大的机器上.

内容:


将Multipass暴露于网络

开启进程的时候, 传递--address进去, 将Multipass暴露于你的网络之中:

$ multipass --help
#...
 --address <server_name:port>  	specifies which address to
								use for the multipassd
								service; a socket can be
								specified using
								unix:<socket_file> 

客户端可以接收MULTIPASS_SERVER_ADDRESS环境变量, 以覆盖默认:

https://github.com/canonical/multipass/blob/a1ea65fb63184fc778e277d3c9e2920ef2a9fb3d/src/client/common/client_common.cpp#L171-L173
$ MULTIPASS_SERVER_ADDRESS=<hostname>:51001 multipass find
Image 	Aliases 	Version 	Description
...
21.10 	impish 		20220118 	Ubuntu 21.10

⚠️ 警告:

  • 因为挂在是使用有权限用户运行的, 比较建议使用Multipass 1.9.0, 用client authentication(客户端授权), 因此你需要明确允许客户端使用共享口令短语连接. 另一个可选方案是, 通过multipass set local.privileged-mounts=false一起取消挂载特性.
  • 一些命令(shell, exec, mount)如今依赖于客户端与实例之间的网络直连, 要让这些可用, 你需要确保他们之间的路由可用.

修改进程设置

Linux

你可执行systemctl edit snap.multipass.multipassd.service, 在下面几行替换一下内容(将<hostname>替换为你需要监听的hostname<主机名>或IP):

[Service]
ExecStart=
ExecStart=/usr/bin/snap run multipass.multipassd --address <hostname>:51005

然后重启服务:

$ snap stop multipass
$ snap start multipass

macOS

在macOS上你需要将其添加到服务名称(service definition)(同样的, 替换<hostname>)并且重启:

$ sudo /usr/libexec/PlistBuddy  \\
  -c "Add :ProgramArguments: string --address" \\
  -c "Add :ProgramArguments: string <hostname>:51001" \\
  /Library/LaunchDaemons/com.canonical.multipassd.plist
$ sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
$ sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist

特别注意: 重装 / 升级会覆盖这些修改


Windows

在Windows上, 你需要需要/重新创建服务名称(service definition), 并且这不仅仅是试试而已(如果你要做, 记得传递/svc作为第一参数给到multipassd.exe二进制文件, 我们当时使用本地服务<LocalService>账户)…

作为一个一次性事件,在停止服务之后, 你可以在服务窗口使用开始参数(Start parameters)字段:


告诉我们这些对你效果如何, 后面你想看什么


原文链接

How to use Multipass remotely

以上是关于Multipass中文文档-远程使用Multipass的主要内容,如果未能解决你的问题,请参考以下文章

Multipass中文文档-使用Packer打包Multipass镜像

Multipass中文文档-使用Packer打包Multipass镜像

Multipass中文文档-使用Multipass服务授权客户端

Multipass中文文档-使用Multipass服务授权客户端

Multipass中文文档-使用指引-在macOS上安装Multipass

Multipass中文文档-使用指引-在Windows上安装Multipass