ฉันได้สร้างคลัสเตอร์โดยใช้ คุดมดม และทุกอย่างทำงานได้ดีจนถึงจุดที่ฉันพยายามตั้งค่ากฎไฟร์วอลล์เช่นอนุญาตเท่านั้น 10.0.0.0/8 ทราฟฟิกเข้ามา ซึ่งจะเป็นการปิดใช้งานพ็อด VPN ของฉัน (Wireguard) เพื่อเชื่อมต่อกับ Kubernetes kube-dns จากเครื่องของฉัน มีมนต์ดำบางอย่างเกิดขึ้นซึ่งอยู่เหนือเกรดค่าจ้างของฉัน
ถ้าฉันอนุญาตทราฟฟิกทั้งหมดจาก IP สาธารณะทั้งหมดภายในคลัสเตอร์ ทุกอย่างก็จะกลับมาเป็นปกติอีกครั้ง ดังนั้นฉันเดาได้ดีที่สุดว่าเป็นเพราะ kube-พร็อกซี ใช้เฉพาะ IP สาธารณะเหล่านั้นและการเชื่อมต่อพร็อกซีผ่านพวกเขา การแก้ปัญหานี้จะต้องบังคับ คูเบเลต และ kube-พร็อกซี เพื่อใช้เฉพาะ IP ส่วนตัวของอินสแตนซ์ (10.0.0.0/8).
ฉันพยายามแล้ว:
- การตั้งค่า
คูเบเลต's --node-ip (ดู ที่นี่). เดอะ คูเบเลต จากนั้นจึงรันด้วยอ็อพชันนั้นและตั้งค่าคำอธิบายประกอบบนโหนดนั้น (เช่น alpha.kubernetes.io/provided-node-ip: 10.0.3.1) แต่ IP ของ kube-พร็อกซี พ็อดไม่เปลี่ยนแปลง (หลังจากรีสตาร์ท) มีคนกล่าวว่า Kubernetes ใช้ IP ที่รายงานโดยผู้ให้บริการคลาวด์ (ดู ที่นี่) หากมีให้ แต่ผู้ให้บริการระบบคลาวด์ของฉันไม่ทำเช่นนั้น (ดู ที่นี่). ฉันยังใช้ kubeadm รีเซ็ต และให้โหนดเข้าร่วมอีกครั้ง เพื่อให้แน่ใจว่า
- การตั้งค่า
ผูกที่อยู่ ใน kube-พร็อกซี ConfigMap ก็ไม่มีผลเช่นกัน ฉันตั้งค่า IP ของโหนดที่นั่นและรีสตาร์ท kube-พร็อกซี เพื่อทดสอบสิ่งนี้ ไม่มีผลอะไร. ไม่พบวิธีกำหนดค่าสิ่งนี้บนดิสก์ของโหนดเองเนื่องจาก kube-พร็อกซี ใช้ ConfigMap เท่านั้น kube-พร็อกซี เป็นปริมาตร
อาจเป็นที่สนใจ:
- เวอร์ชัน Kubernetes: 1.24
- ผู้ให้บริการคลาวด์: Hetzner
ขอบคุณสำหรับความช่วยเหลือ!