LXDの後継「Incus」を試す:Ubuntu 24.04での構築メモ(GUIあり)

4分で読了
更新日
Progress 1 / 5
目次

コンテナ環境を手軽に扱いたいな〜と思っていたら、「LXDのフォークであるincusがいい感じらしい」という話をキャッチ。Canonicalから独立して開発が進められているようで、最近じわじわ注目されています。

というわけで今回は、Ubuntu 24.04 LTSにincusをインストールして、初期設定を終えるまでの流れを自分用のメモも兼ねてまとめておきます。GUIの導入までやってみたので、これから触ってみたい人の参考になれば嬉しいです。

incusのインストール

この項にはincusの初期化が完了するまでの作業を載せておきます。

  1. ホストOSのインストール
  2. incusをインストール
  3. incusを初期化

ホストOSのインストール

incusはLXDと同じくUbuntuでの動作が安定していそうなので、今回は素直にUbuntu 24.04 LTSを選択しました。

もしサーバーとして運用したい場合は、インストール時にstatic IPを設定しておくと、あとからSSHやGUIでのアクセスがめちゃくちゃラクになります。

ファイルシステム構成は以下のようにしています:

  • /boot/efi: fat32(ESP)
  • /boot: ext4(btrfsだとちょっと不安なので)
  • /: btrfs(incusで活かしたいので)

btrfsを使用したい方は、この時点でフォーマットしておくのがベターです。

incusをインストール

以下のリポジトリからインストール

GitHub - zabbly/incus: Incus package repository

Incus package repository. Contribute to zabbly/incus development by creating an account on GitHub.

github.com

参考: https://linuxcontainers.org/incus/docs/main/installing/#linux

Terminal window
# リポジトリキーの追加
sudo curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc
# リポジトリ追加(6.0 LTS)
sudo sh -c 'cat <<EOF > /etc/apt/sources.list.d/zabbly-incus-lts-6.0.sources
Enabled: yes
Types: deb
URIs: https://pkgs.zabbly.com/incus/lts-6.0
Suites: $(. /etc/os-release && echo ${VERSION_CODENAME})
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/zabbly.asc
EOF'
# incusとGUIをインストールする
sudo apt-get update
sudo apt-get install incus

incusを初期化

インストールが完了したら

Terminal window
sudo incus admin init

以下の内容が聞かれるので、状況に合わせて設定する

Terminal window
Would you like to use clustering? (yes/no) [default=no]: yes
What IP address or DNS name should be used to reach this server? [default=192.168.100.101]:
Are you joining an existing cluster? (yes/no) [default=no]: no
What member name should be used to identify this server in the cluster? [default=incus1]:
Do you want to configure a new local storage pool? (yes/no) [default=yes]:
Name of the storage backend to use (dir, lvm, btrfs) [default=btrfs]:
Would you like to create a new btrfs subvolume under /var/lib/incus? (yes/no) [default=yes]:
Do you want to configure a new remote storage pool? (yes/no) [default=no]: no
Would you like to use an existing bridge or host interface? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]:
Would you like a YAML "init" preseed to be printed? (yes/no) [default=no]:

GUIのインストール

zabblyバージョンのincusではUI(incus-ui-canonical)も提供されています。見た目はLXD用のUIとほぼ同じで、コマンドをincus用に入れ替えたものとのこと。

GitHub - zabbly/incus-ui-canonical: Fork of canonical/lxd-ui for use with Incus (gets rebased frequently)

Fork of canonical/lxd-ui for use with Incus (gets rebased frequently) - zabbly/incus-ui-canonical

github.com

この項では、GUIのインストールと初期化までを説明します。

incus-ui-canonicalのインストール

zabblyリポジトリの追加はincusインストール時に済んでいるとします。

Terminal window
sudo apt-get install incus-ui-canonical

incus-ui-canonicalにアクセス

以下のコマンドでGUIのIPを確認します。

Terminal window
sudo incus config get core.https_address

設定で確認したIPにブラウザからアクセス。以下のような画面が出れば成功

incus-ui-canonical 成功画面
incus-ui-canonical 成功画面

incus-ui-canonicalの接続設定

ここら辺は画面にインストラクションが出てるので、それに沿えば良いはず。

※ crtファイルのやり取りはscpコマンドで行いました。
※ crtファイルのやり取りはscpコマンドで行いました。
Terminal window
scp /mnt/c/.../incus-ui.crt username@[ip_address]:/home/username

ログインを確認する

証明書のインストールまで完了したらブラウザを再起動します。再度GUIにアクセスすると、ログイン後の画面が表示されるはずです。

ログインを確認する 1
ログインを確認する 1

最後に

ひとまずこれで、Ubuntu 24.04 LTS上に incus を導入し、GUIで管理できる環境の構築まで完了しました。初期設定を一通り済ませた今なら、コンテナの作成やネットワーク設定、プロファイルのカスタマイズなど、実際の運用フェーズに進めるかと思います。

実際環境を作成してみたりクラスタ構成での運用も試してみたりについては、次回以降のテーマにします。気になった方は是非また来てください。