ฉันมีโปรเจ็กต์ต่อไปนี้ที่ฉันใช้เพื่อสร้างคลัสเตอร์ Kubernetes ของตัวเองบนเครื่องโลคัล (macOS) ผ่าน KubeAdm: https://github.com/sasadangelo/k8s-cluster
โดยพื้นฐานแล้วฉันเริ่มจากสิ่งนี้ โครงการ และทำการอัปเดตต่อไปนี้:
- กำหนดค่าการปรับใช้ Vagrant ผ่านไฟล์ YAML
- รองรับ K8s 1.6 APIs, K8s 1.18 และ Calico 3.8.8
- ปรับใช้แดชบอร์ด K8s อัตโนมัติ
ตอนนี้ฉันสบายดีกับคลัสเตอร์นี้ แต่ฉันมีปัญหา DNS บางอย่างที่ฉันต้องการทราบวิธีการแก้ไข เครื่องมือนี้ใช้ไฟล์ Vagrant เพื่อเริ่มกล่อง Vagrant 3 กล่อง จากนั้นฉันใช้สคริปต์ 3 ตัวเป็นหลัก:
ปัญหาของฉันก็คือว่า resolv.conf
ของ Pods ของฉันมีลักษณะดังนี้:
เนมเซิร์ฟเวอร์ 10.96.0.10
ค้นหา default.svc.cluster.local svc.cluster.local cluster.local <โดเมนอื่นที่มาจากเครื่องโฮสต์>
ตัวเลือก ndots:5
ไฟล์นี้มีปัญหาสองประการ:
- ไม่อนุญาตให้ฉันเข้าถึงอินเทอร์เน็ต อันที่จริงฉันต้องเพิ่มด้วยตนเองโดยเพิ่มบรรทัดนี้ที่จุดเริ่มต้นของไฟล์:
เนมเซิร์ฟเวอร์ 8.8.8.8
และลบออกเมื่อไม่ต้องการอีกต่อไป (หากฉันเก็บไว้ DNS ภายในไม่ทำงาน)
- ในส่วนการค้นหามีโดเมนที่มาจากเครื่องโฮสต์ของฉัน:
<other domain coming from host machine>
ที่ทำให้เกิดปัญหา
ฉันอ่านเอกสารประกอบมากมาย แต่ฉันก็ยังมีปัญหาในการหาวิธีเปลี่ยนรหัสของฉันเพื่อหลีกเลี่ยงปัญหาทั้งสองนี้