เรามีคลัสเตอร์ Kubernetes ภายในองค์กร ซึ่งทำงานบนโหนดที่มีชื่อโฮสต์ node1.mycompany.local ผ่าน node7.mycompany.local เรายังมีเซิร์ฟเวอร์ฐานข้อมูลบน node16.mycompany.local นอกคลัสเตอร์ Kubernetes
เมื่อพ็อดทำงานบน node4 หรือ node7 พ็อดจะไม่สามารถแก้ไขชื่อโดเมนฐานข้อมูลและล้มเหลวได้ ถ้าฉันย้ายพ็อดไปยังโหนดอื่นที่ไม่ใช่ 4 หรือ 7 พ็อดจะสามารถเชื่อมต่อกับฐานข้อมูลและรันได้โดยไม่มีปัญหา
เมื่อฉัน ssh ไปยังโหนดใดๆ ในคลัสเตอร์ ฉันสามารถ ping ไปยังเซิร์ฟเวอร์ฐานข้อมูลโดยใช้ชื่อโฮสต์ได้โดยไม่มีปัญหาใดๆ
เมื่อรันคอนเทนเนอร์นักเทียบท่าโดยตรงโดยไม่ใช้ Kubernetes เราจะระบุชื่อโฮสต์เพิ่มเติมพร้อมกับ IP เพื่อให้คอนเทนเนอร์แก้ไข แต่ฉันไม่รู้ว่า Kubernetes จัดการสิ่งนี้อย่างไร เพราะฉันไม่พบการกำหนดค่าใดๆ ที่ระบุ IP ของโหนดภายนอก
รุ่น kubernetes ของฉันคือ:
เวอร์ชันไคลเอ็นต์: version.Info{ เมเจอร์:"1", รอง:"9", GitVersion:"v1.9.0"...
เวอร์ชันเซิร์ฟเวอร์: version.Info{ เมเจอร์:"1", รอง:"9", GitVersion:"v1.9.5+coreos.0",...
อะไรทำให้เกิดปัญหานี้ได้?