Deci am o problemă ciudată pe care nu sunt sigur cum să o rezolv:
În acest moment, podurile raportează că nu au internet. Am restrâns problema la o problemă dns (clusterul este configurat prem folosind kubespray care utilizează coredns). Când ridic un pod de depanare, primesc următorul comportament:
- Când trimit un DNS pentru a solicita www.google.com (
sapă www.google.com
) jurnalele tcpdump pentru portul 53 arată așa cum m-aș aștepta:
21:10:33.025899 IP debug.59031 > 169.254.25.10.domain: 18350+ [lau] A? www.google.com. (43)
21:10:33.026542 IP debug.52810 > 169.254.2510.domain: 33725+ PTR? 10.25.254.169.in-addr.arpa. (44)
21:10:33.036522 IP 169.254.25.10.domain > debug.52810: 33725 NXDomain 0/0/0 (44)
21:10:33.036665 IP 169.254.25.10.domain > debug.59031: 18350 1/0/1 A 142.250.80.36 (73)
- Când trimit o solicitare http către www.google.com (
curl https://www.google.com
) jurnalele tcpdump pentru portul 53 arată că atașează domeniile de căutare la solicitările dns, ceea ce explică de ce pod-urile raportează că nu există internet.
21:10:40.068763 IP debug.43031 > 169.254.25.10.domain: 24294+ A? www.google.com.kube-system.svc.<domeniu kubernetes>. (63)
21:10:40.068826 IP debug.43031 > 169.254.25.10.domeniu: 7902+ AAAA? www.ggogle.com.kube-system.svc.<domeniu kubernetes>. (63)
21:10:40.069778 IP 169.254.25.10.domain > debug.43031: 7902 NXDomain*- 0/1/0 (159)
21:10:40.069891 IP 169.254.25.10.domain > debug.43031: 24294 NXDomain*- 0/1/0 (159)
21:10:40.070007 IP debug.38363 > 169.254.25.10.domeniu: 26807+ A? www.google.com.svc.<domeniu kubernetes>. (51)
21:10:40.070049 IP debug.38363 > 169.254.25.10.domain: 39068+ AAAA? www.google.com.svc.<domeniu kubernetes>. (51)
21:10:40.070643 IP 169.254.25.10.domain > debug.38363: 26807 NXDomain*- 0/1/0 (147)
21:10:40.070807 IP 169.254.25.10.domain > debug.38363: 39068 NXDomain*- 0/1/0 (147)
21:10:40.070891 IP debug.38087 > 169.254.25.10.domain: 40210+ A? www.google.com.<domeniul kuberenetes>. (487)
21:10:40.070935 IP debug.38087 > 169.254.25.10.domain: 41616+ AAAA? www.google.com.<domeniul kubernetes>. (47)
21:10:40.071461 IP 169.254.25.10.domain > debug.38087: 41616 NXDomain*- 0/1/0 (143)
21:10:40.071632 IP 169.254.25.10.domain > debug.38087: 40210 NXDomain*- 0/1/0 (143)
21:10:40.071706 IP debug.46700 > 169.254.25.10.domeniu: 3263+ A? www.google.com.<domeniul de căutare al podului aparatului rulează pe>. (53)
21:10:40:071748 IP depanare.46700 > 169.254.25.10.domeniu: 19702+ AAAA? www.google.com.<domeniul de căutare al podului aparatului rulează pe>. (53)
21:10:40.089999 IP 169.254.25.10.domain > debug.46700: 3263 1/0/0 A <ip-ul nostru public> (104)
21:10:40.093058 IP 169.254.25.10.domain > debug.46700: 19702 0/1/0 (147)
Deci, nu sunt sigur dacă comportamentul așteptat este să adăugați mai întâi domeniile de căutare și apoi să încercați domeniul rădăcină sau nu. Dacă nu ar trebui să facă asta, aș dori să știu de ce este și cum să o repar.Dacă acesta este comportamentul așteptat, atunci trebuie să îmi dau seama de ce coredns rezolvă domeniul ca IP-ul meu public, mai degrabă decât IP-ul corect și cum să rezolv asta.