TroubleShooting/kubernates

[Kubernates] 쿠버네티스 - Because you are using a Docker driver on darwin, the terminal needs to be open to run it.

나인에스 2022. 3. 28. 12:34
 

1. 증상

macOS에서 minikube + docker driver를 이용해서 서비스를 동작시킬때 서버스 url에 접근하지 못하는 현상이 발생한다. "minikube service {service name}" 명령어를 이용하거나 "minikube service {service name} --url"명령어 등 container와 tunnelling을 해야하는 동작인 경우 아래 그림과 같이 경고 메세지를 출력하고 이후 아무런 동작이 없는 상태가 된다.

2. 원인

여러 community와 minikube github project를 확인해봐도 아직 명확한 원인을 찾아내지 못했다. 다만 macOS의 docker driver에 tunneling을 할때에 접근 이슈가 발생한다고 추측할 뿐이다.

❗  Because you are using a Docker driver on darwin, the terminal needs to be open to run it.

3. 해결방법

위의 원인에서 언급한 것처럼 명확한 원인을 찾아내지 못했기 때문에 macOS상에서 minikube + docker driver를 사용했을 경우 발생하는 문제를 아직 해결하지는 못했다. 다만 이때 minikube에서 사용하는 driver를 hyperkit으로 변경해서 사용함으로서 해당 현상을 우회할 수는 있다.

# hyperkit 설치
$>brew update
$>brew install hyperkit

# hyperkit driver를 이용해서 minikube 실행
$>minikube start --driver=hyperkit

# hyperkit driver를 default로 설정(설치시 기본 driver는 docker로 고정되어 있음)
$>minikube config set driver hyperkit

위와 같이 hyperkit을 설치 및 driver를 변경후 실행할 경우 정상 동작하는 것을 확인 할 수 있다.

Ref.

https://github.com/kubernetes/minikube/issues/9016