ฉันชนกับปัญหาการกำหนดเส้นทาง ฉันไม่สามารถเข้าถึงหนึ่งในโหนดผู้ปฏิบัติงานของฉัน (เซิร์ฟเวอร์) จากโหนดหลัก (เซิร์ฟเวอร์) ของฉันได้อีกต่อไป AFAIK ไม่มีส่วนเกี่ยวข้องกับ Kubernetes แต่นำไปสู่ปัญหาเครือข่าย Linux อย่างแท้จริง
เนื่องจากปัญหาเกิดจาก IP เพียงรายการเดียว ฉันจึงแก้ปัญหา iptables, เปิดใช้งาน TRACE และตระหนักว่าแพ็กเก็ตที่เกิดขึ้นจริงนั้นมาจาก master (eth0), ไปที่ iptables (passes: raw > mangle >nat) แต่เมื่อต้องมีการกำหนดเส้นทางจาก nat ไปยัง ตัวกรองมันก็หายไป
ตามที่ฉันเข้าใจนั่นคือจุดที่เคอร์เนลต้องทำการตัดสินใจกำหนดเส้นทางตรวจสอบการกำหนดเส้นทางและพบว่าไม่ทำงานสำหรับ IP นั้น (ส่วนอื่น ๆ ทั้งหมดจากส่วน IP เดียวกันทำงานได้ดี) !?
เนื่องจากฉันทำงานกับผู้ให้บริการระบบคลาวด์ และไม่สามารถแก้ไขปัญหาเครือข่ายได้ ดังนั้นฉันจึงลองติดตั้งระบบปฏิบัติการใหม่ (Ubuntu 20.04 เดิม) ของโหนดหลัก (เซิร์ฟเวอร์) พบว่าเมื่อติดตั้ง OS ใหม่อีกครั้ง ปัญหาไม่ปรากฏ ดังนั้นปัญหาการกำหนดค่าต้องอยู่ภายในเซิร์ฟเวอร์ Linux หลักของฉัน (ฉันเปลี่ยนอิมเมจเซิร์ฟเวอร์กลับเป็นสแนปช็อต)
root@vmi57XXXX:~# เส้นทาง
ตารางเส้นทางเคอร์เนล IP
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
gw.provider.net เริ่มต้น 0.0.0.0 UG 0 0 0 eth0
10.244.0.0 0.0.0.0 255.255.255.0 คุณ 0 0 0 cni0
10.244.1.0 10.244.1.0 255.255.255.0 UG 0 0 0 ผ้าสักหลาด.1
172.17.0.0 0.0.0.0 255.255.0.0 คุณ 0 0 0 นักเทียบท่า 0
root@vmi57XXXX:~# เส้นทาง ip รับ xx.xx.xx.96
xx.xx.xx.96 ท้องถิ่น dev จริง src xx.xx.xx.96 uid 0
แคช <ท้องถิ่น>
root@vmi57XXXX:~# เส้นทาง ip รับ xx.xx.xx.95
xx.xx.xx.95 ผ่าน xx.xx.xx.1 dev eth0 src xx.xx.xx.95 uid 0
แคช
root@vmi57XXXX:~# เส้นทาง ip รับ xx.xx.xx.97
xx.xx.xx.97 ผ่าน xx.xx.xx.1 dev eth0 src xx.xx.xx.97 uid 0
แคช
root@vmi57XXXX:~# arp -v
ที่อยู่ HWtype HWaddress Flags Mask Iface
10.244.0.60 อีเธอร์ 8a:94:de:43:b6:0f C cni0
10.244.0.63 อีเธอร์ 1e:76:6a:60:27:f3 C cni0
10.244.0.62 อีเธอร์ 36:0b:19:5e:57:87 C cni0
gw.provider.net อีเธอร์ 00:c0:1d:c0:ff:ee C eth0
10.244.0.64 อีเธอร์ 82:03:61:c5:4d:fb C cni0
10.244.0.50 (ไม่สมบูรณ์) cni0
10.244.1.0 อีเธอร์ 52:3d:a5:f4:c2:2c CM สักหลาด.1
10.244.0.61 อีเธอร์ 56:19:98:79:a1:3a C cni0
รายการ: 8 ข้าม: 0 พบ: 8
root@vmi57XXXX:~# ip netconf แสดง dev eth0
การส่งต่อ inet eth0 บน rp_filter ปิด mc_forwarding ปิด proxy_neigh
เพิกเฉย_routes_with_linkdown ปิด
inet6 eth0 ส่งต่อปิด mc_forwarding ปิด proxy_neigh
เพิกเฉย_routes_with_linkdown ปิด
เบาะแสใด ๆ เกี่ยวกับสิ่งที่เกิดขึ้นที่นั่นยินดีต้อนรับมากกว่า !!!
ขอบคุณ
แก้ไข: หลังจากแก้ไขปัญหาแล้ว ควรสังเกตว่าพฤติกรรมนี้เกิดขึ้นกับ Kubernetes 1.21.2-00 และ flannel เป็น CNI
ฉันทำการอัปเกรดเมื่อไม่กี่สัปดาห์ก่อน และนี่เป็นการรีสตาร์ทโหนดผู้ปฏิบัติงานหนึ่งโหนดเป็นครั้งแรกหลังจากการอัปเกรด