ฉันได้เล่นกับคลัสเตอร์ Google Kubernetes Engine เมื่อเร็ว ๆ นี้ ฉันมีคำถามเกี่ยวกับ CNI ของพวกเขา ฉันได้อ่านจากเอกสาร GCP และบทความอื่น ๆ ว่ามีบริดจ์ซึ่งอินเทอร์เฟซ veth ทั้งหมดเชื่อมต่อด้วย โดยพื้นฐานแล้ว สำหรับแต่ละคอนเทนเนอร์ จะมีการสร้างคู่ผัก ปลายด้านหนึ่งอยู่ในคอนเทนเนอร์และปลายอีกด้านหนึ่งเชื่อมต่อกับอุปกรณ์บริดจ์ เมื่อคอนเทนเนอร์บนโหนดเดียวกันสื่อสารกัน การแลกเปลี่ยนแพ็กเก็ตจะใช้อุปกรณ์บริดจ์เลเยอร์ 2 นี่คือคำอธิบายของเอกสาร GKE
https://cloud.google.com/kubernetes-engine/docs/concepts/network-overview#pods
https://medium.com/cloudzone/gke-networking-options-explained-demonstrated-5c0253415eba
ฉันสร้างคลัสเตอร์บน Google ฉันเห็นว่ามีอุปกรณ์บริดจ์ docker0 แต่ไม่มีอินเทอร์เฟซที่เกี่ยวข้อง
gke-xxxxxxxxx /home/uuuuuuu # แสดง brctl
ชื่อบริดจ์ รหัสบริดจ์ อินเทอร์เฟซที่เปิดใช้งาน STP
นักเทียบท่า 0 8000.0242fd0b0cf4 หมายเลข
gke-xxxxxxxxxx /home/uuuuuuu #
จากนั้นฉันสร้างคลัสเตอร์โดยใช้ Virtualbox ฉันเห็นอินเทอร์เฟซเชื่อมโยงกับอุปกรณ์บริดจ์
[root@k8s-2 ~]# แสดง brctl
ชื่อบริดจ์ รหัสบริดจ์ อินเทอร์เฟซที่เปิดใช้งาน STP
cni0 8000.36dae477639c ไม่มี veth7f6c1f01
vethccd0d71d
vethe63e4285
สิ่งที่ฉันพยายามให้เหตุผลคือเหตุใดฉันจึงไม่พบอุปกรณ์บริดจ์ใน Google VMs มีคุณสมบัติพิเศษของ Linux Kernel ที่ใช้ในสถานการณ์นี้หรือไม่?
เมื่อฉันตรวจสอบอินเทอร์เฟซ veth แต่ละรายการบน Google VM พวกเขาทั้งหมดมีที่อยู่ IP เดียวกัน 10.188.2.1
gke-xxxxxxxxxxxxxxxxxxxxx /home/user.name # ifconfig
นักเทียบท่า 0: ค่าสถานะ = 4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 169.254.123.1 netmask 255.255.255.0 ออกอากาศ 169.254.123.255
อีเธอร์ 02:42:fd:0b:0c:f4 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.10.1.19 netmask 255.255.255.255 ออกอากาศ 0.0.0.0
inet6 fe80::4001:aff:fe0a:113 คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 42:01:0a:0a:01:13 txqueuelen 1000 (อีเธอร์เน็ต)
แพ็คเก็ต RX 2192921 ไบต์ 1682211226 (1.5 GiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 1288701 ไบต์ 468627202 (446.9 MiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
inet6 ::1 คำนำหน้าlen 128 scopeid 0x10<host>
วนซ้ำ txqueuelen 1,000 (วนกลับในเครื่อง)
แพ็คเก็ต RX 276348 ไบต์ 153128345 (146.0 MiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 276348 ไบต์ 153128345 (146.0 MiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
veth27cee774: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.188.2.1 netmask 255.255.255.255 ออกอากาศ 10.188.2.1
inet6 fe80::10b7:98ff:fe2f:2e08 คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ 12:b7:98:2f:2e:08 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 32 ไบต์ 2306 (2.2 KiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 10 ไบต์ 710 (710.0 B)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
veth6eba4cdf: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.188.2.1 netmask 255.255.255.255 ออกอากาศ 10.188.2.1
inet6 fe80::c4e3:b0ff:fe5f:63da คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ c6:e3:b0:5f:63:da txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 537091 ไบต์ 138245354 (131.8 MiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 477870 ไบต์ 122515885 (116.8 MiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
veth8bcf1494: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.188.2.1 netmask 255.255.255.255 ออกอากาศ 10.188.2.1
inet6 fe80::70cb:c4ff:fe8c:a747 คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ 72:cb:c4:8c:a7:47 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 50 ไบต์ 3455 (3.3 KiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 28 ไบต์ 2842 (2.7 KiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vethbb2135c7: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.188.2.1 netmask 255.255.255.255 ออกอากาศ 10.188.2.1
inet6 fe80::1469:daff:fea0:8b5b คำนำหน้า 64 scopeid 0x20<link>
อีเธอร์ 16:69:da:a0:8b:5b txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 223995 ไบต์ 82725559 (78.8 MiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 239258 ไบต์ 60203574 (57.4 MiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
vetheee4e8e3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.188.2.1 netmask 255.255.255.255 ออกอากาศ 10.188.2.1
inet6 fe80::ec6c:3bff:fef3:70c2 คำนำหน้า 64 scopeid 0x20<ลิงค์>
อีเธอร์ ee:6c:3b:f3:70:c2 txqueuelen 0 (อีเธอร์เน็ต)
แพ็คเก็ต RX 311669 ไบต์ 40562747 (38.6 MiB)
ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
แพ็กเก็ต TX 304461 ไบต์ 628195110 (599.0 MiB)
ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0
เบื้องหลังอินเตอร์เฟส veth เหล่านี้คืออะไร?
ขอบคุณล่วงหน้า