とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど

開催予定の勉強会

読者登録と各種SNSのフォローもよろしくお願いいたします。

新しくなったMultipassを触ってみる

MultipassはUbuntuを開発、サポートするCanonicalが提供する、マルチプラットフォームに対応する仮想マシンソフトウェアです。

https://multipass.run

分類としては仮想マシンソフトウェアではありますが、基本的にUbuntuベースでOKな人向けのツールです。 以前のMultipassはコマンドラインで使うのが主で簡易的なGUIが実装されるのみであり、操作の中心はコマンドラインだったと思います。

ところが久しぶりに最新版にアップデートしてみたら、次のような使いやすそうなダッシュボードが現れました。

コマンドで言うところの「multipass find」を実行した時に現れる、MultipassがサポートするOSイメージの一覧が表示されています。

Ubuntu ServerとUbuntu Coreのイメージと、Ubuntuにいくつかのソフトウェアがインストール済みのイメージが提供されているようです。Ubuntu Coreを常用するのはなかなか難しいと思いますが、Ubuntu Serverであれば色々使えそうですね。

「Launch」ボタンをクリックすると、イメージをダウンロードしたのちにインスタンスが起動します。「Launch」ボタンの右側の歯車ボタンを押すと、インスタンス名、CPU、メモリー、ストレージの設定、ブリッジネットワークへの接続をするか、マウントポイントを設定するかカスタマイズした上でインスタンスを起動できます。設定からEthernetインターフェイスを設定しておけば、インスタンスにブリッジネットワークを割り当てて物理ネットワークに繋ぐことも簡単にできます。

インスタンスは環境のCPUアーキテクチャーに合わせたUbuntuのクラウドイメージを使って起動するため、ISOイメージをダウンロードする必要はありません。

インスタンス起動後はインスタンスの一覧からインスタンスが利用中のシステムリソースの状態の確認や、インスタンスの起動、停止、サスペンド、削除ができます。

これらのUbuntuイメージにはcloud-initがインストールされているため、いろいろな設定やパッケージなどを仕込んだりと言ったことが可能ですが、残念ながらcloud-initのファイルを仕込んだりとかはGUIからはできないようです。より細かいことをしたければ、従来のようにCLIベースでやってねと言ったところみたいです。

例えば公開鍵や必要なパッケージを仕込んで、インスタンスを起動するということも可能です。 cloud-initのファイルの記述はその他クラウド向けのものも使い回しが効くという点がメリットです。

$ cat cloud-config.yaml
#cloud-config
timezone: Asia/Tokyo
locale: ja_JP.utf8
packages:
  - mysql-server
ssh_authorized_keys:
 - ssh-rsa AAAAABCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

$ multipass launch -n foo 22.04 --cloud-init cloud-config.yaml

Multipassで作成したインスタンスはいわゆるただの仮想マシンなので、今回SSHの公開鍵を仕込んだことでVSCodeのRemote SSH拡張機能と組み合わせば書いたコードの実行環境としても使えます。OSはUbuntu限定にはなりますが、テスト環境として使えるでしょう。

marketplace.visualstudio.com

そして今回ここが気に入ったところなのですが、インスタンスのシェルをMultipassのGUIから開けるようになっていました。開いた状態がこのような感じで、まるでUbuntuの端末でシェルを開いているような見た目になっています。同じインスタンスに対してシェルを複数開ける点もポイント高いです。このシェルへはマウスの右クリックなどを使ってコピーペーストみたいな操作はできないようですが、キーボードショートカットは使えるので、まあ困ることはないと思います。

GUIだけではなく従来のようにコマンドベースでも操作できますし、ランチャーからインスタンスの開始、停止、シェルを開く操作も可能になっています。強化されたGUIツールはかなり気に入りました。

まるでローカルで手軽に動く小さなクラウドみたいな感じで、結構便利に使えそうですね。 もし、まだ新しいMultipassを触っていない方はぜひインストールして、使ってみてはいかがでしょうか?

  翻译: