ฉันได้สร้างคลัสเตอร์โดยใช้ คุดมดม
และทุกอย่างทำงานได้ดีจนถึงจุดที่ฉันพยายามตั้งค่ากฎไฟร์วอลล์เช่นอนุญาตเท่านั้น 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
ขอบคุณสำหรับความช่วยเหลือ!