ฉันมีปัญหาที่รายการ DNS สำหรับโดเมนภายนอกใช้งานไม่ได้
ไม่ทราบลักษณะของปัญหาในขณะนั้น
โดเมนดังกล่าวได้รับการสอบถามจากพ็อดคลัสเตอร์ kubernetes ใน Google Kubernetes Engine ในขณะที่รายการเสียหาย
ปัญหายังคงมีอยู่ (เหตุการณ์เกิดขึ้นเมื่อ 2 เดือนที่แล้ว) เมื่อสอบถามโดเมนนั้นจากคลัสเตอร์
ตัวแก้ไข DNS ของคลัสเตอร์ใช้ metadata.google.internal สำหรับการแก้ไข DNS และจากคลัสเตอร์ ข้อความค้นหาที่มีขุดจะ:
ขุด problematic.external.domain @ 169.254.169.254
# ไม่สามารถแก้ไขและใช้เวลานานกว่า 2 วินาที
ขุด problematic.external.domain @1.1.1.1
# แก้ไขอย่างถูกต้องภายใต้ 200ms
การสร้าง vm ใหม่ในโครงการและโซนเดียวกันจะแก้ไขโดเมนที่มีปัญหาได้อย่างถูกต้อง สิ่งนี้มีผลกับตัวแก้ไข DNS ของเซิร์ฟเวอร์ข้อมูลเมตาของคลัสเตอร์ที่ใช้งานอยู่เท่านั้น
มีวิธีการล้างแคช DNS หรือคำแนะนำอื่น ๆ หรือไม่?
โดยทั่วไปฉันพยายามหลีกเลี่ยงการแก้ไขการตั้งค่า DNS ในคลัสเตอร์และต้องการวิธีอื่นในการแก้ไข
แก้ไขข้อมูลเพิ่มเติม:
NodeLocal DNSCache
มีการใช้งานอยู่แล้วในคลัสเตอร์และอ้างอิงเอกสารประกอบนั้น https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal-dns-cache ปัญหาคือเซิร์ฟเวอร์ DNS ข้อมูลเมตา
ข้อความที่ตัดตอนมาจากรายการสิทธิประโยชน์:
การสืบค้น DNS สำหรับ URL ภายนอก (URL ที่ไม่ได้อ้างถึงทรัพยากรของคลัสเตอร์) จะถูกส่งต่อโดยตรงไปยังเซิร์ฟเวอร์ข้อมูลเมตาของ Cloud DNS ในเครื่อง โดยผ่าน kube-dns
ซึ่งก็คือ ip 169.254.169.254