multipassはWindows/
LXDのようなインターフェースを備えたCLIツール
multipassはCanonicalが開発している,
CLIをメインにしたUI
- コマンド1つで仮想マシンを作成&起動できる
- 仮想マシンの作成・
起動・ 停止・ 削除に加えて, ログインやファイルのやり取りもコマンドで実現
cloud-initによる仮想マシンの設定が可能
多種多様なバックエンドのサポート
- Linux用バックエンドにはQEMU/
KVMを使いつつ, libvirtにも切り替え可能 - Windows上ならHyper-VをmacOS上ならHyperKitをサポート
- Linux用バックエンドにはQEMU/
自作のイメージの起動
なお,
グラフィック機能の非サポート
- あくまでサーバー用途
- デスクトップ環境を試したいのであれば従来のツールの利用をおすすめ
ホストの外からのアクセス関連設定機能がない
- ホストの外から作成した仮想マシンにアクセスしたいならホストOSごとの設定が必要
- 仮想マシンからインターネットへのアクセスは可能
いずれにせよ実運用で使うには,
特にWindowsやmacOSでも,
- ※1
- 第344回で紹介したuvtoolと何が違うのかと言われると難しいところです。multipassは他のOSもサポートしている点がuvtoolに対する強みとなります。しかしながらLinux単体で考えたときに,
その違いはLXDライクなコマンド体系を備えていることぐらいでしょうか。最初uvtoolの後継として開発されているのかとも思ったのですが, どうやらmultipassの開発者はあまりそういう意図を持っていないようですし, uvtoolのほうも今年に入っていくつかコミットがあるようにまだ開発が続いているようです。
multipassのインストール
multipassはWindowsやmacOSにも対応しています。multipassの公式サイトからexeファイルやpkgファイルのリンクがはられていますので,
UbuntuをはじめとするLinux向けにはsnapパッケージが用意されています。第582回を参考にまずはsnap環境を構築してください。GitHub上にLinux版のソースコードが公開されているので,
Ubuntuであればsnapパッケージをインストールする方法が一番かんたんです。
$ sudo snap install multipass --classic --beta
multipassはまだ安定版をリリースしていないのでbetaチャンネルからダウンロードします。また,
multipassでインスタンスを作成する
multipassをインストールするとmultipassデーモンが動き出します。multipassコマンドはこのmultipassデーモンとUnixドメインソケット経由で通信しながら,
まずはmultipassコマンドが使えるか確認してみましょう。
$ multipass help
Usage: multipass [options] <command>
Create, control and connect to Ubuntu instances.
This is a command line utility for multipass, a
service that manages Ubuntu instances.
Options:
-h, --help Display this help
-v, --verbose Increase logging verbosity, repeat up to three times for more
detail
Available commands:
delete Delete instances
exec Run a command on an instance
find Display available images to create instances from
get Get a configuration option
help Display help about a command
info Display information about instances
launch Create and start an Ubuntu instance
list List all available instances
mount Mount a local directory in the instance
purge Purge all deleted instances permanently
recover Recover deleted instances
restart Restart instances
set Set a configuration option
shell Open a shell on a running instance
start Start instances
stop Stop running instances
suspend Suspend running instances
transfer Transfer files between the host and instances
umount Unmount a directory from an instance
version Show version detailsこれを見れば,