ฉันมีพ็อดที่มีคลัสเตอร์ IP 10.233.70.35 ในคลัสเตอร์ Bare Metal Kubernetes 1.19 ที่มี Calico 3.16.9 เป็น CNI เรียกสิ่งนี้ว่า พ็อด เอ
. ในโหนดส่วนใหญ่ (ซึ่งแตกต่างจากโหนดของ พ็อด เอ
) ฝัก (พ็อด บี
) ในเนมสเปซ Kubernetes เดียวกันที่สามารถเข้าถึงได้ พ็อด เอ
ดังที่แสดงใน pcap บนโหนด โดยที่ พ็อด เอ
อยู่ด้านล่าง:
# tcpdump -vv -i calib33bd7211a6|grep 10.233.109.62
tcpdump: กำลังฟังบน calib33bd7211a6, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
10.233.109.62.60372 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0x16af (ถูกต้อง), seq 2138999970, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 2089146656 ecr 0,nop,wscale 7], ความยาว 0
10.233.70.35.tproxy> 10.233.109.62.60372: ธง [S. ], CKSUM 0xC961 (ไม่ถูกต้อง -> 0x579E), SEQ 398518010, ACK 2138999971, Win 65160 ,wscale 7], ความยาว 0
10.233.109.62.60372 > 10.233.70.35.tproxy: ค่าสถานะ [.], cksum 0x82fd (ถูกต้อง), seq 1, ack 1, ชนะ 502, ตัวเลือก [nop,nop,TS val 2089146656 ecr 4061902615], ความยาว 0
# tcpdump -vv -i tunl0 | grep 10.233.109.62
tcpdump: กำลังฟัง tunl0, RAW ประเภทลิงก์ (Raw IP), ขนาดการจับภาพ 262144 ไบต์
10.233.109.62.34294 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xbd5b (ถูกต้อง), seq 1964000002, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 1018637359 ecr 0,nop,wscale 7], ความยาว 0
10.233.70.35.tproxy> 10.233.109.62.34294: ธง [S. ], CKSUM 0xC961 (ไม่ถูกต้อง -> 0x7b0b), SEQ 1667300057, ACK 1964000003, Win 65160, ตัวเลือก [MSS 1460, Sackok, TS ,wscale 7], ความยาว 0
10.233.109.62.34294 > 10.233.70.35.tproxy: ค่าสถานะ [.], cksum 0xa66a (ถูกต้อง), seq 1, ack 1, ชนะ 502, ตัวเลือก [nop,nop,TS val 1018637359 ecr 4061982287], ความยาว 0
10.233.109.62.34294 > 10.233.70.35.tproxy: ค่าสถานะ [F.], cksum 0x592f (ถูกต้อง), seq 1, ack 1, ชนะ 502, ตัวเลือก [nop,nop,TS val 1018657129 ecr 4061982287], ความยาว 0
10.233.70.35.tproxy > 10.233.109.62.34294: ค่าสถานะ [F.], cksum 0xc959 (ไม่ถูกต้อง -> 0x0bec), seq 1, ack 2, ชนะ 510, ตัวเลือก [nop,nop,TS val 4062002057 ecr 1018657129], ความยาว 0
10.233.109.62.34294 > 10.233.70.35.tproxy: ค่าสถานะ [.], cksum 0x0bf3 (ถูกต้อง), seq 2, ack 2, ชนะ 502, ตัวเลือก [nop,nop,TS val 1018657130 ecr 4062002057], ความยาว 0
อย่างไรก็ตาม ในบางเครื่อง (ซึ่งแตกต่างจากโหนดของ พ็อด เอ
) ฝัก (พ็อด ซี
) ในเนมสเปซ k8s เดียวกันไม่สามารถเข้าถึงได้ พ็อด เอ
แม้ว่าจะสามารถไปถึงอุโมงค์ของ พ็อด เอ
โหนดที่แสดงด้านล่าง:
# tcpdump -vv -i calib33bd7211a6|grep 10.233.82.51
tcpdump: กำลังฟังบน calib33bd7211a6, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
# tcpdump -vv -i tunl0 | grep 10.233.82.51
tcpdump: กำลังฟัง tunl0, RAW ประเภทลิงก์ (Raw IP), ขนาดการจับภาพ 262144 ไบต์
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xc924 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899329055 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xc529 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899330074 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xbd49 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899332090 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xacc9 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899336314 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0x8cc9 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899344506 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0x4dc9 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899360634 ecr 0,nop,wscale 7], ความยาว 0
10.233.82.51.35038 > 10.233.70.35.tproxy: ค่าสถานะ [S], cksum 0xc9c8 (ถูกต้อง), seq 2532090843, ชนะ 64240, ตัวเลือก [mss 1460,sackOK,TS val 3899394426 ecr 0,nop,wscale 7], ความยาว 0
ฉันจะทำอย่างไรเพื่อแก้ไขสิ่งนี้ พ็อด เอ
สามารถเข้าถึงได้โดยพ็อดใด ๆ ในโหนดใด ๆ
โหนดทั้งหมดอยู่ในเครือข่ายย่อยเดียวกัน แต่กระจายไปทั่วสวิตช์ L2 สองตัว ปัญหานี้ดูเหมือนจะเกิดขึ้นกับบางโหนดในสวิตช์ตัวใดตัวหนึ่งตั้งแต่นั้นเป็นต้นมา พ็อด เอ
เครื่องของมาถึงโดยอุโมงค์ ข้อสังเกตนี้ไม่เกี่ยวข้อง