Open4
win11のWSL2&Nested VMでKVM/QEMUを使ってminikubeを動かす
ピン留めされたアイテム
kvm と cockpit のセットアップなら以下を実行
sudo apt install qemu-kvm virt-manager cockpit cockpit-machines
sudo chmod a+rw /dev/kvm
virt-host-validate
# 結果が FAIL になってなければ動く
sudo systemctl enable --now cockpit.socket
とりあえずWSLを入れる
wsl --install
minikubeを入れる
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
qemu-kvmを入れる
sudo apt-get update
sudo apt install qemu-kvm
# 起動確認
sudo qemu-system-x86_64 -nographic -enable-kvm
Ctrl+Aの後Cキーを押とQEMUのコマンドが入力できるのでinfo kvm
と入力する。
kvm support: enabled
となっていれば問題ないのでquit
で終了する
/var/run/libvirt/libvirt-sock
が見つからない問題を解決する
このままでは '/var/run/libvirt/libvirt-sock': No such file or directory
と言われるので以下を実行する
sudo apt install virt-manager
# シェル再起動
exec $SHELL -l
# 環境チェック
virt-host-validate
QEMU: Checking if device /dev/kvm is accessible
がFAILになっているかもしれない
その場合は以下を実行
sudo chmod a+rw /dev/kvm
# 再度チェック
virt-host-validate
# それでもできなかったら
sudo chown root:kvm /dev/kvm
sudo chmod 660 /dev/kvm
kube系のCLIツールを入れる
minikubeを起動する前にkubectlがないとcheckでコケます
必須
- kubectl
何らかの方法で入れてください。私はaquaを使ってます。
任意
任意ですが合ったほうが幸せになれます
-
k9s
kubectlの拡張です。TUIでいろいろできる
スクリーンショット
-
kubectx
クラスタに接続するための認証情報を切り替えるやつです。
kvmを使ってminikubeを立ち上げる
minikube start --driver=kvm2
トラブルシューティング
# 権限周り
sudo chmod a+rw /dev/kvm
# Install virt-manager
sudo apt install -y virt-manager
# Add youself to kvm and libvirt group
sudo usermod --append --groups kvm,libvirt "${USER}"
# Fix-up permission to avoid "Could not access KVM kernel module: Permission denied" error
sudo chown root:kvm /dev/kvm
sudo chmod 660 /dev/kvm
# Stat required services
sudo libvirtd &
sudo virtlogd &
# Launch virt-manager
virt-manager &
webGUIを入れる
sudo apt install cockpit cockpit-machines
sudo systemctl enable --now cockpit.socket
http://localhost:9090 にアクセスするとログイン画面が出てくる。
CLIでログインしているユーザー名/パスワードでログインする
参考記事