Monterey に アップデートして minikube on virtual box が動かなくなった。
❌ IF_VBOX_NOT_VISIBLE が原因で終了します: Failed to start host: driver start: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
💡 提案: VirtualBox インストールを完了させるために再起動し、VirtualBox がシステムや別のハイパーバイザーにブロックされていないことを検証してください
検索すると同じ様に困っている人たちがいる。
(まぁ、近頃は OpenShift on IBM Cloud を使っていたので、久々に minikube を動かした環境が Monterey だったりしたのかもしれないけど。。。)
記載してあるように VirtualBox をアンインストールし、最新版をインストールしてみたが状況が改善しない。
エラーメッセージの最後に記載してあるリンクを見ると、mac で Virtualbox の権限が許可されていないとのことで、これを許可してあげれば良い。
でも、せっかくなので minikube on virtualbox に代わる ローカルK8s環境はないか?と探したところ、「hyperkit を使って minikube を動かす」といった記事をよく見かける。
この度は、Rahul Kumar さんの記事を元に minikube on hyperkit を構築してみる。
1. 既存環境のお掃除
minikube stop; minikube delete &&
docker stop $(docker ps -aq) &&
rm -rf ~/.kube ~/.minikube &&
sudo rm -rf /usr/local/bin/localkube /usr/local/bin/minikube &&
launchctl stop '*kubelet*.mount' &&
launchctl stop localkube.service &&
launchctl disable localkube.service &&
sudo rm -rf /etc/kubernetes/ &&
docker system prune -af --volumes
2. xhyve (MacOS XにおいてLinux KVMに相当する仮想化ハイパーバイザ by Wikipedia ) ドライバーインストール
brew install docker-machine-driver-xhyve
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
3. Minikube インストール
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && \
chmod +x minikube && \
sudo mv minikube /usr/local/bin/
4. hyperkit インストール
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-hyperkit \
&& chmod +x docker-machine-driver-hyperkit \
&& sudo mv docker-machine-driver-hyperkit /usr/local/bin/ \
&& sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit \
&& sudo chmod u+s /usr/local/bin/docker-machine-driver-hyperkit
5. minikube 起動
minikube start --logtostderr --v=3 --vm-driver=hyperkit
minikube version
※このとき、以下のように「/usr/local/bin/kubectl のバージョンは 1.16.0 で、Kubernetes 1.23.3 と互換性がないかもしれません」と warning が出るけど、エラーではない。
6. 起動確認
minikube ssh
minikube が無事 macOS Monterey で起動することを確認することができました。
(^_^)v