ดังนั้นฉันจึงมีปัญหาแปลก ๆ ที่ฉันไม่แน่ใจว่าจะแก้ไขได้อย่างไร:
ตอนนี้พ็อดแจ้งว่าไม่มีอินเทอร์เน็ต ฉันได้จำกัดปัญหาให้แคบลงเหลือเพียงปัญหา DNS (คลัสเตอร์อยู่ในการตั้งค่าล่วงหน้าโดยใช้ kubespray ซึ่งใช้ coredns) เมื่อฉันเปิดพ็อดดีบั๊ก ฉันได้รับพฤติกรรมต่อไปนี้:
- เมื่อฉันส่ง DNS เพื่อขอ www.google.co.th (
ขุด www.google.com
) บันทึก tcpdump สำหรับพอร์ต 53 ดูเหมือนว่าฉันคาดหวัง:
21:10:33.025899 IP debug.59031 > 169.254.25.10.domain: 18350+ [lau] A? www.google.co.th (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)
- เมื่อฉันส่งคำขอ http ไปที่ www.google.co.th (
ขด https://www.google.co.th
) บันทึก tcpdump สำหรับพอร์ต 53 แสดงว่ากำลังต่อท้ายโดเมนการค้นหากับคำขอ DNS ซึ่งอธิบายว่าทำไมพ็อดจึงรายงานว่าไม่มีอินเทอร์เน็ต
21:10:40.068763 IP debug.43031 > 169.254.25.10.domain: 24294+ A? www.google.com.kube-system.svc.<โดเมน kubernetes> (63)
21:10:40.068826 IP debug.43031 > 169.254.25.10.domain: 7902+ AAAA? www.ggogle.com.kube-system.svc.<โดเมน 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.domain: 26807+ A? www.google.com.svc.<โดเมน kubernetes> (51)
21:10:40.070049 IP debug.38363 > 169.254.25.10.domain: 39068+ AAAA? www.google.com.svc.<โดเมน 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.<kuberenetes โดเมน> (487)
21:10:40.070935 IP debug.38087 > 169.254.25.10.domain: 41616+ AAAA? www.google.com.<โดเมน 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.domain: 3263+ A? www.google.com.<โดเมนการค้นหาของแมชชีนพ็อดกำลังทำงานอยู่> (53)
21:10:40:071748 IP debug.46700 > 169.254.25.10.domain: 19702+ AAAA? www.google.com.<โดเมนการค้นหาของแมชชีนพ็อดกำลังทำงานอยู่> (53)
21:10:40.089999 IP 169.254.25.10.domain > debug.46700: 3263 1/0/0 A <our public ip> (104)
21:10:40.093058 IP 169.254.25.10.domain > debug.46700: 19702 0/1/0 (147)
ดังนั้นฉันจึงไม่แน่ใจว่าพฤติกรรมที่คาดไว้คือการต่อท้ายโดเมนการค้นหาก่อนแล้วจึงลองใช้โดเมนหลักหรือไม่ หากไม่ควรทำเช่นนั้น ฉันต้องการทราบสาเหตุและวิธีแก้ไขหากนั่นเป็นพฤติกรรมที่คาดไว้ ฉันต้องค้นหาสาเหตุที่ coredns แก้ไขโดเมนเป็น ip สาธารณะของฉันแทนที่จะเป็น ip ที่ถูกต้อง และจะแก้ไขได้อย่างไร