低コスト・即時展開を目的としたLibvirt-APIのWEBインターフェイスです.SSH経由でLibvirt-API,Ansible,コマンド実行(qemu-img)などを実行します.
現段階ではWEBインターフェイスをグローバルなど,信用できないネットワークに設置しないでください.
- Virtyは全てのノード操作をSSHを経由して行います.よってSSH接続できる全てのノードを管理できます.
- ノードの最小構成はlibvirtデーモンのインストールのみです.
- ユーザはWEBインターフェイスを利用して操作を行えます.
Virtyはdockerで動くので制約はありません、管理対象ノードのサポートOSは以下になります.確認していませんが他のOSでも動くかもしれません.
- Ubuntu 20, 18
- CentOS 8, 7
Virtyを構築し,ノードを管理対象に追加するまでを示します.
現時点ではDocker-composeでの構築のみサポートしています.
git clone --branch master --depth 1 https://github.com/hibiki31/virty.git
cd virty
cp docker-compose.example.yml docker-compose.yml
docker-compose build
docker-compose up -d
*イメージのビルド中でエラーが発生する場合
docker image rm centos:8
docker image prune -a
http://localhost:80 へアクセスするとログイン画面が表示されます. ログインボタンの隣のセットアップボタンをクリックします. 管理ユーザを登録できます,ユーザが存在しない時のみ実行できます.
OSによらず以下の状態を構築します.
- コンテナ内からSSHが可能
- パスワード入力なしでsudoが可能
- libvirtデーモンの起動
- qemu-imgコマンドが使用可能
以下のパッケージをインストールします
sudo apt update
sudo apt upgrade
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
systemcltf enable libvritd
以下のパッケージをインストールします
yum -y install libvirt libvirt-client qemu-kvm virt-manager bridge-utils
sudo systemctl status libvirtd.service
使用するテキストエディタを選択します
sudo update-alternatives --config editor
Virty管理用のユーザーにNOPASSWD権限を与えます
sudo visudo
-- 末尾 --
username ALL=(ALL) NOPASSWD: ALL
既存の鍵を使用する場合以下のホストディレクトリに設置してください コンテナ内の.sshにマウントされます
./data/key
コンテナに接続します
docker exec -it virty_virty-main_1 bash
コンテナ内からSSH接続し、パスワード入力無しでSSHが可能か確認
ssh-copy-id user@host
ダッシュボードにアクセス > サイドバー > Node > Add で入力し追加