에러코드
💣 Unable to start VM: create: precreate: VirtualBox is configured with multiple host-only adapters with the same IP "192.168.99.1". Please remove one
😿 Sorry that minikube crashed. If this was unexpected, we would love to hear from you:
에러 상황
sudo 없이 minikube command를 이용하고 싶은 상황
chown을 통해 파일 소유 및 권한을 바꾸면, sudo 없이 command가 실행은 되지만, VirtualBox 에러가 나는 상황.
해결법 요약
우선 sudo 없이 명령어를 실행하고 싶은 경우
sudo chown -R $USER $HOME/.minikube
sudo chown -R $USER $HOME/.kube
를 통해 .minikube 와 .kube 디렉토리의 소유자를 현재 유저로 바꾼다.
이후! sudo minikube start 가 아닌.
minikube start
입력한다.
(아마 sudo minikube start를 입력하면 다시 디렉토리 소유자가 root로 바뀌는 것 같음.)
minikube start시 VM이나 Virtualbox관련 IP 중복 에러 발생시
virtualbox의 Global Tools - Host Network Manager 에서 중복된 아이피를 제거하거나 변경한다.
해결법 세부내용
chown을 통해 소유자를 바꾼 뒤 sudo 없이 minikube start 시 VM 이나 VirtualBox Error가 발생하지 않으면 그대로 성공적으로 minikube start가 될 것이고,
대부분의 경우 Error가 발생할 것이다.
root에서 실행했다가 USER로 실행했다가 하면서 VirtualBox가 여러개의 IP를 겹치게 할당시키는 것 같음.
sudo로 실행할 땐, root 로 실행을 하고, 일반 사용자로 실행할 땐, 일반 사용자 그대로 실행하다보니
minikube도 virtualbox도 꼬이게 되는 것 같다.
일반 사용자에서 minikube start 이후 sudo virtualbox를 실행하면
이때의 virtualbox는 root로 실행되어서 일반사용자의 VM을 표시하지 않는 등의 착오가 발생하게 된다.
virtual extension pack에 있는 Global Tools를 이용해 IP를 수정하였다.
terminal에서 virtualbox를 입력하거나 알아서 자기가 설치한 virtualbox를 실행한 뒤 오른쪽 위의 Global Tools를 눌러준다.
아마 위에서처럼
" Unable to start VM: create: precreate: VirtualBox is configured with multiple host-only adapters with the same IP "192.168.99.1". Please remove one "
라는 에러코드를 받은 경우에는 Global Tools 의 Host Network Manager에서 IPv4 Address가 동일한 두 개 이상의 vboxnet이 나올 것이라 예상된다.
나는 여기서 중복된 IPv4 Address를 임의로 수정하여 겹치지 않게하거나
하나만 남기고 다 지워버렸다.
그랬더니 에러메시지에 따라 같은 IP의 adapter를 제거해서인지 이후로는 잘 작동하였다.
요약
단순히 sudo 없이 minikube 나 kubectl command를 sudo 없이 사용하고 싶다면,
sudo chown -R $USER $HOME/.minikube
sudo chown -R $USER $HOME/.kube
을 통해 디렉토리와 그 하부 파일들의 소유자를 현재 유저로 바꿔준다.
이후 sudo 없이 minikube start 등의 command를 실행하니 VM이나 VirtualBox에 대한 IP 중복 관련 Error가 발생했다면
virtualbox를 실행해서 Global tools - Host Network Manager에서 중복된 IP를 수정해주자.