Incus(旧LXD)向けのシンプルなリモート管理アプリを作ってみました!
(github.com/gg582)こんにちは! コーディングを学び始めたばかりの、コンピュータSW専攻の大学生です。
このプロジェクトは、init まで含んだシステムコンテナを簡単に作成できる Incus 向けのクライアントです。まだ機能も少なくプロトタイプ段階ですが、関心を持っていただけたらうれしいです!
簡単な説明は以下のとおりです。
- シンプルな Python アプリでコンテナ管理
- SSH ポート提供により CLI 開発環境を提供
- 30001、30002 番をテスト用ポートとして提供
- リモートで状態の参照・変更(freeze を含む)、ファイル push
- ユーザーをネームスペースのように利用可能: ユーザー削除時にすべてのコンテナも削除
- 重複タグの利用が可能: 実際の名前には別個の一意な文字列を付与
このアプリを使って得られたメリットは次のとおりでした。
- 移動中でも簡単なコンテナ設定が可能
- init まで仮想化したシステムコンテナを ワンクリックで多数作成
- 簡単な NGINX html 配信ドキュメントや画像の差し替えが容易
- プロジェクトの build script を仮想環境でテスト
達成した主な成果
- Incuspeed のビルドテストを Incuspeed で: 自分自身を使ったビルドテスト
- Nginx が表示するサンプル画像をリモート変更
- さまざまなディストリビューションを体験
対応するディストリビューション
- AlmaLinux 9
- RockyLinux 9
- Debian 10,11,12
- Devuan Beowulf, Chimaera, Daedalus(基本的に sysv に init が置き換えられた Debian)
- Slackware current, 15.0(slackpkg+ セットアップは標準搭載ではありません)
- Centos 9 Stream
Incus 公式イメージのうち、私が使ってみたディストリビューションはすべて SSH セットアップまでは完了させています。
今後検討している機能
- スナップショットのリモート作成・管理
- 現在のコンテナをイメージとして保存
まだアマチュアですが、良い印象を持っていただけたらうれしいです!
1件のコメント
参考までに、内部の30001番、30002番は、外部ではSSHポート+1、SSHポート+2にマッピングされます。