смотрят в нужный днс?
Вот это не утверждал
Покажи nslookup или dig с ноды и с пода
В kubelet всё норм ➜ ~ nslookup github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: github.com Address: 140.82.121.3 ➜ ~ docker exec -ti kubelet nslookup github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: github.com Address: 140.82.121.3 Запустил под с ubuntu образа, apt-get update похоже тоже пошел на amazonS3) В resolv.conf внутри под nameserver 10.43.0.10, я так понимаю, что это CoreDNS резолвит непойми что
У тебя coredns форвардит запросы в локальный DNS сервер хоста. Он сам не резолвит, не считая зоны cluster.local
То есть смотри что там резолвится на хосте, где крутится coredns
На хосте всё норм резолвит, все проблемы только когда через coredns запрос идёт
Зайди на хост где крутится coredns И сделай dig a github.com @127.0.0.53 И dig a github.com @10.43.0.10
Одинаковый результат и правильные ip. Кстати внутри пода результат nslookup и dig почему то отличаются. root@bash:/# nslookup github.com Server: 10.43.0.10 Address: 10.43.0.10#53 Non-authoritative answer: Name: github.com.DOMAINS Address: 205.251.219.55 Name: github.com.DOMAINS Address: 205.251.219.101 Name: github.com.DOMAINS Address: 205.251.219.53 Name: github.com.DOMAINS Address: 205.251.219.85 root@bash:/# dig github.com ; <<>> DiG 9.16.1-Ubuntu <<>> github.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50030 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 9c82a4c841472e3d (echoed) ;; QUESTION SECTION: ;github.com. IN A ;; ANSWER SECTION: github.com. 30 IN A 140.82.121.3 ;; Query time: 7 msec ;; SERVER: 10.43.0.10#53(10.43.0.10) ;; WHEN: Sun Apr 03 17:24:50 MSK 2022 ;; MSG SIZE rcvd: 77 nslookup выдаёт неверные ip, а dig верные..
А можешь все таки дать то что я выше попросил, плиз
➜ ~ dig a github.com @127.0.0.53 ; <<>> DiG 9.16.15-Ubuntu <<>> a github.com @127.0.0.53 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32541 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;github.com. IN A ;; ANSWER SECTION: github.com. 16 IN A 140.82.121.4 ;; Query time: 3 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Вс апр 03 14:30:23 UTC 2022 ;; MSG SIZE rcvd: 55 ➜ ~ dig a github.com @10.43.0.10 ; <<>> DiG 9.16.15-Ubuntu <<>> a github.com @10.43.0.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32460 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 42dc081d05991ed4 (echoed) ;; QUESTION SECTION: ;github.com. IN A ;; ANSWER SECTION: github.com. 19 IN A 140.82.121.4 ;; Query time: 0 msec ;; SERVER: 10.43.0.10#53(10.43.0.10) ;; WHEN: Вс апр 03 14:30:29 UTC 2022 ;; MSG SIZE rcvd: 77
Ну то есть одинаковые ответы что от coredns, что от systemd-resolved
с хоста да. А из пода нет. Что за бред
Погоди, ты из хоста на coredns запрос сделал. Разницы не должно быть. Дай теперь вывод dig a github.com @10.43.0.10 из пода
root@bash:/# dig a github.com @10.43.0.10 ; <<>> DiG 9.16.1-Ubuntu <<>> a github.com @10.43.0.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16791 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 214146b3b5a88d68 (echoed) ;; QUESTION SECTION: ;github.com. IN A ;; ANSWER SECTION: github.com. 22 IN A 140.82.121.4 ;; Query time: 3 msec ;; SERVER: 10.43.0.10#53(10.43.0.10) ;; WHEN: Sun Apr 03 17:33:48 MSK 2022 ;; MSG SIZE rcvd: 77
Ну то есть все правильно. Окей а как воспроизвести неверный DNS ответ?
https://pastebin.com/zjcRy8N3 Например вот так, все резолвы ушли не по назначению
И да проблема похоже не с github, все резолвы летят на CloudFront
Обсуждают сегодня