DNS 서버 사용 이후 minikube에서 docker pull 안되는 문제
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.64.1:53: read udp 192.168.64.4:48733->192.168.64.1:53: read: connection refused
minikube를 잘 사용하고 있다가 cloudflared
DNS over https를 사용한 이후로 minikube 안에서 docker pull
이 안되는 문제가 발생했다.
$ minikube ssh
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ docker pull alpine
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.64.1:53: read udp 192.168.64.4:48733->192.168.64.1:53: read: connection refused
$ curl -v -I google.com
* Could not resolve host: google.com
curl: (6) Could not resolve host: google.com
찾아보니 많은 사람들이 비슷한 문제를 겪고 있는 듯 하다. 문제는 127.0.0.1:53
(udp + tcp)를 같이 사용해서 생기는 듯 한데.. DNS server가 hyperkit DNS server와 충돌해서 생기는 문제인듯 하다.
해결하려면 virtualbox를 사용하거나 해당 DNS service를 죽여햐한다.
확인해보니 cloudflar가 뜨는것을 볼 수 있다.
$ sudo lsof -i :53
cloudflar 98935 root 5u IPv4 0xca93a294b6868867 0t0 UDP localhost:domain
cloudflar 98935 root 8u IPv4 0xca93a294bb5e785f 0t0 TCP localhost:domain (LISTEN)
이를 죽이고 다시 시도해보았다.
$ sudo kill 98935
$ minikube stop
$ minikube start
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
df20fa9351a1: Pull complete
Digest: sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
이제 정상적으로 작동하는 것을 볼 수 있다.
p.s. kt 인터넷에서 아이클라우드가 너무나도 느려서 DNS를 사용해보려고 하였는데 일단
cloudflared
나dnscrypt-proxy
는 사용이 힘들 듯 하다.dnscrypt-proxy
는 아래 명령어로 우회가 가능하다고는 하는데, 빨리 문제가 해결되었으면 좋겠다.
$ minikube start ... --hyperkit-vpnkit-sock=/Users/username/Library/Containers/com.docker.docker/Data/vpnkit.eth.sock
참고
'backend > kubernetes' 카테고리의 다른 글
쿠버네티스에서 디버그를 더 쉽게: kubectl alpha debug (0) | 2020.08.25 |
---|---|
ReplicationController, ReplicaSet, Deployment 중 어떤것을 사용해야할까? (0) | 2020.06.13 |
DockerCon 2020 - hands on helm (0) | 2020.06.02 |
[kubernetes 패키지 관리자] Helm 설치 및 기본 사용법 (0) | 2020.05.25 |