ฉันมี 3 โหนดในคลัสเตอร์ โหนดหนึ่งคือโหนดหลักและอีกสองโหนดคือโหนดผู้ปฏิบัติงาน ฉันใช้ผ้าสักหลาด CNI สำหรับคลัสเตอร์ Kubernetes ฉันเรียกใช้ Nginx ingress ในคลัสเตอร์สำหรับ load balancer และชื่อโฮสต์คือ host.com
นี่คือพ็อดของฉันในคลัสเตอร์
เนมสเปซปรับใช้-4yhghhf4d-345ck 1/1 กำลังทำงาน 0 2d14h 10.45.0.55 agent-02 <ไม่มี> <ไม่มี>
เนมสเปซปรับใช้-4yhghhf4d-a4fcf 1/1 ทำงาน 0 2d14h 10.45.1.25 ต้นแบบ <ไม่มี> <ไม่มี>
เนมสเปซปรับใช้-4yhghhf4d-87678 1/1 ทำงาน 0 2d14h 10.45.2.30 ตัวแทน-03 <ไม่มี> <ไม่มี>
ฉันพยายามเข้าถึงจากเบราว์เซอร์และจากบรรทัดคำสั่ง ในการเข้าถึง deploy-fdtt88f4d-345ck และ deploy-4yhghhf4d-a4fcf นั้นสำเร็จผ่าน host.com ฉันสามารถขดบนบรรทัดคำสั่งหรือผ่านเบราว์เซอร์ host.com
แน่นอนว่าพ็อดมีที่อยู่ IP ฉันต้องการพยายามเข้าถึงหรือ ping ที่อยู่ IP เหล่านั้นผ่านบรรทัดคำสั่ง
จากฝั่งมาสเตอร์
master ping เอง: ping 10.45.1.25 (สำเร็จ)
ตัวแทน ping หลัก-02: ping 10.45.0.55 (ล้มเหลว)
ตัวแทน ping หลัก-03: ping 10.45.2.30 (ล้มเหลว)
จากฝั่งตัวแทน
agent-03 ping agent-02: ping 10.45.0.55 (สำเร็จ)
agent-02 ping agent-03: ping 10.45.2.30 (สำเร็จ)
agent-02 ping master: ping 10.45.1.25 (ล้มเหลว)
ประเด็นคือเมื่อใดก็ตามที่เรา ping หรือ curl ไปยังหรือจาก master จะล้มเหลวเสมอ ไม่มีการตอบสนอง แต่ตัวแทนต่อตัวแทนทำสำเร็จ
ฉันล้าง iptables ของฉันที่ฝั่งมาสเตอร์ แต่ก็ยังใช้งานไม่ได้
iptables -L
# คำเตือน: มีตาราง iptables-legacy ให้ใช้ iptables-legacy เพื่อดู
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain KUBE-EXTERNAL-SERVICES (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
โซ่ KUBE-FIREWALL (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
โซ่ KUBE-FORWARD (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
โซ่ KUBE-KUBELET-CANARY (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain KUBE-NODEPORTS (อ้างอิง 0 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
โซ่ KUBE-NWPLCY-DEFAULT (0 อ้างอิง)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain KUBE-PROXY-CANARY (อ้างอิง 0 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
โซ่ KUBE-ROUTER-FORWARD (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่ KUBE-ROUTER-INPUT (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่ KUBE-ROUTER-OUTPUT (อ้างอิง 0)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain KUBE-SERVICES (อ้างอิง 0 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
#เส้นทางip
10.45.0.0/24 ผ่าน 10.45.0.0 dev flannel.1 onlink
10.45.1.0/24 ผ่าน 10.45.1.0 dev flannel.1 onlink
10.45.2.0/24 ผ่าน 10.45.2.0 dev flannel.1 onlink
#cat /run/flannel/subnet.env
FLANNEL_NETWORK=10.45.0.0/16
FLANNEL_SUBNET=10.45.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=จริง
kubectl รับโหนด -o yaml |grep flannel.alpha
flannel.alpha.coreos.com/backend-data: '{"VNI":1,"VtepMAC":"16:cb:5c:78:57:cb"}'
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: "จริง"
flannel.alpha.coreos.com/public-ip: 192.168.14.3
flannel.alpha.coreos.com/backend-data: '{"VNI":1,"VtepMAC":"7e:1e:e8:f6:8f:77"}'
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: "จริง"
flannel.alpha.coreos.com/public-ip: 192.168.14.4
flannel.alpha.coreos.com/backend-data: '{"VNI":1,"VtepMAC":"06:cd:6a:ba:6b:54"}'
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: "จริง"
flannel.alpha.coreos.com/public-ip: 10.0.3.15
flannel.alpha.coreos.com/backend-data: '{"VNI":1,"VtepMAC":"96:71:0e:48:52:4d"}'
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: "จริง"
flannel.alpha.coreos.com/public-ip: 192.168.14.2