ฉันได้ตั้งค่าคลัสเตอร์ kubernetes, โหนดเดียว, เดเบียน 11 อย่างไรก็ตาม CoreDNS ของฉันดูเหมือนจะไม่แก้ไขอะไรเลย ฉันสังเกตเห็นว่าพนักงานขนของไม่สามารถโหลดทรัพยากรได้
http: ข้อผิดพลาดพร็อกซี: กด tcp: ค้นหา kubernetes.default.svc เมื่อ 10.96.0.10:53: อ่าน udp 10.244.0.4:57589->10.96.0.10:53: หมดเวลา i/o
เนื่องจากนี่เป็นการหมดเวลาสำหรับ DNS ของฉัน ฉันจึงตรวจสอบบริการ:
root@dmvandenberg:~/kubernetes# kubectl รับ svc -n kube-system -o กว้าง
ประเภทชื่อ CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kube-dns ClusterIP 10.96.0.10 <ไม่มี> 53/UDP,53/TCP,9153/TCP 78m k8s-app=kube-dns
root@dmvandenberg:~/kubernetes# kubectl รับพ็อด --selector=k8s-app=kube-dns -o กว้าง -n ระบบ kube
ชื่อ พร้อม สถานะ เริ่มใหม่ อายุ IP โหนด โหนดที่ได้รับการเสนอชื่อ เกตส์ความพร้อม
coredns-78fcd69978-2b6cq 1/1 วิ่ง 0 79m 10.244.0.2 dmvandenberg.nl <ไม่มี> <ไม่มี>
coredns-78fcd69978-swprh 1/1 วิ่ง 0 79m 10.244.0.3 dmvandenberg.nl <ไม่มี> <ไม่มี>
ฉันได้ตั้งค่าคลัสเตอร์ด้วยไฟล์เหล่านี้:
แมว init.sh init2.sh
kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl สร้าง -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl สร้าง -f https://docs.projectcalico.org/manifests/custom-resources.yaml
kubectl taint โหนด --all node-role.kubernetes.io/master-
kubectl สร้าง -f localstorage.yml --save-config
kubectl สร้าง -f pvporttainer.yml --save-config
kubectl patch storageclass local-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
kubectl ใช้ -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
ฉันได้พยายามด้วย ใช้ kubectl -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
แทน kubectl สร้าง -f https://docs.projectcalico.org/manifests/tigera-operator.yaml kubectl สร้าง -f https://docs.projectcalico.org/manifests/custom-resources.yaml
.
root@dmvandenberg:~/kubernetes# cat localstorage.yml
รุ่น api: storage.k8s.io/v1
ชนิด: StorageClass
ข้อมูลเมตา:
ชื่อ: ที่เก็บข้อมูลในเครื่อง
ผู้จัดเตรียม: kubernetes.io/no-provisioner
VolumeBindingMode: WaitForFirstConsumer
root@dmvandenberg:~/kubernetes# cat pvporttainer.yml
api เวอร์ชัน: v1
ชนิด: PersistentVolume
ข้อมูลเมตา:
ชื่อ: คนขนของ
ข้อมูลจำเพาะ:
ความจุ:
ความจุ: 11Gi
โหมดการเข้าถึง:
- ReadWriteOnce
PersistentVolumeReclaimPolicy: เก็บรักษา
storageClassName: ที่เก็บข้อมูลในเครื่อง
ท้องถิ่น:
เส้นทาง: /dockerdirs/pvporttainer
ความเกี่ยวข้องของโหนด:
ที่จำเป็น:
nodeSelectorเงื่อนไข:
- การจับคู่นิพจน์:
- รหัส: kubernetes.io/hostname
ผู้ดำเนินการ: ใน
ค่า:
- dmvandenberg.nl
ฉันได้จำกัดปัญหาให้แคบลงเพื่อแก้ไข DNS โดยใช้คำสั่งและเอาต์พุตต่อไปนี้:
root@dmvandenberg:~/kubernetes# บันทึกของ kubectl --namespace=kube-system -l k8s-app=kube-dns -f & tcpdump -ani cni0 พอร์ต udp 53
[5] 9505
tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v[v]... สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง cni0, ประเภทลิงก์ EN10MB (Ethernet), ความยาวสแน็ปช็อต 262144 ไบต์
.:53
[INFO] ปลั๊กอิน/โหลดซ้ำ: กำลังรันการกำหนดค่า MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.4
ลินุกซ์/amd64, go1.16.4, 053c4d5
.:53
[INFO] ปลั๊กอิน/โหลดซ้ำ: กำลังรันการกำหนดค่า MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.4
ลินุกซ์/amd64, go1.16.4, 053c4d5
21:21:07.629395 IP 10.244.0.4.44224 > 10.244.0.2.53: 3488+ AAAA? kubernetes.default.svc.porttainer.svc.cluster.local (68)
21:21:07.629667 IP 10.244.0.4.43161 > 10.244.0.2.53: 433+ A? kubernetes.default.svc.porttainer.svc.cluster.local (68)
21:21:12.630395 IP 10.244.0.4.54508 > 10.244.0.3.53: 61466+ AAAA? kubernetes.default.svc.porttainer.svc.cluster.local (68)
21:21:12.630453 IP 10.244.0.4.46088 > 10.244.0.2.53: 55999+ A? kubernetes.default.svc.porttainer.svc.cluster.local (68)
^ซี
จับได้ 4 ห่อ
4 แพ็กเก็ตที่ได้รับโดยตัวกรอง
0 แพ็คเก็ตลดลงโดยเคอร์เนล
ฉันคาดหวังที่จะเห็นการตอบกลับการสืบค้น DNS แต่ฉันไม่เห็นอะไรเลย บนอินเทอร์เน็ตฉันพบบางอย่างเกี่ยวกับการเพิ่ม "บันทึก" ในคอร์ไฟล์ของ coredns ดังนั้นฉันจึงลองทำดู แต่ไม่เห็นล็อกไลน์ใดๆ ปรากฏขึ้น สิ่งนี้ทำให้ฉันมั่นใจว่าข้อความ UDP ดังที่แสดงโดย tcpdump ไม่ถูกอ่าน/รับโดย coredns
ฉันทำตามขั้นตอนทั้งหมด https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-Resolution/แต่สิ่งนี้ไม่ได้ทำให้ฉันไปต่อ
ฉันกำลังติดอยู่หลังจากนี้แม้ว่า ฉันจะแก้ไขข้อบกพร่องต่อไปได้อย่างไร มีอะไรผิดปกติ?
แก้ไข:
ฉันได้ลองทำตามคำแนะนำนี้แล้ว: https://www.oueta.com/linux/create-a-debian-11-kubernetes-cluster-with-kubeadm/
ฉันเห็นผลลัพธ์เดียวกันทุกประการบนอินเทอร์เฟซอื่น:
16:56:06.482769 cali6bd455d068f ใน IP 172.20.122.129.60650 > 10.96.0.10.53: 31215+ AAAA? kubernetes.default.svc.porttainer.svc.cluster.local (68)
16:56:06.482980 cali6bd455d068f ใน IP 172.20.122.129.35119 > 10.96.0.10.53: 8608+ A? kubernetes.default.svc.porttainer.svc.cluster.local (68)
16:56:11.483200 cali6bd455d068f ใน IP 172.20.122.129.57079 > 10.96.0.10.53: 61639+ AAAA? kubernetes.default.svc.porttainer.svc.cluster.local (68)
16:56:11.483309 cali6bd455d068f ใน IP 172.20.122.129.38249 > 10.96.0.10.53: 14976+ A? kubernetes.default.svc.porttainer.svc.cluster.local (68)
16:56:16.484367 cali6bd455d068f ใน IP 172.20.122.129.57768 > 10.96.0.10.53: 55396+ AAAA? kubernetes.default.svc.svc.cluster.local (58)
16:56:16.484488 cali6bd455d068f ใน IP 172.20.122.129.53058 > 10.96.0.10.53: 50700+ A? kubernetes.default.svc.svc.cluster.local (58)
16:56:21.484644 cali6bd455d068f ใน IP 172.20.122.129.58857 > 10.96.0.10.53: 18986+ AAAA? kubernetes.default.svc.svc.cluster.local (58)
16:56:21.484702 cali6bd455d068f ใน IP 172.20.122.129.36861 > 10.96.0.10.53: 44020+ A? kubernetes.default.svc.svc.cluster.local (58)
การเรียกใช้ tcpdump บนอินเทอร์เฟซทั้งหมดแสดงให้เห็นว่า TCP ดูเหมือนจะใช้งานได้ โดยพิจารณาจากข้อความ ACK ที่ถูกส่งกลับ สิ่งที่ฉันสังเกตเห็นคือไม่มีการรับส่งข้อมูลจาก 10.96.0.10 (บริการ) ไปยังพ็อด แต่ฉันไม่รู้ว่าจำเป็นหรือไม่
17:03:29.224602 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [.], ack 1, ชนะ 169, ตัวเลือก [nop,nop,TS val 4014670766 ecr 4073454542], ความยาว 0
17:03:29.224869 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [P.], seq 1:107, ack 1, ชนะ 169, ตัวเลือก [nop,nop,TS val 4014670766 ecr 4073454542], ความยาว 1
17:03:29.224887 IP 172.20.122.129.9000 > 169.254.167.173.36088: ค่าสถานะ [.], ack 107, ชนะ 167, ตัวเลือก [nop,nop,TS val 4073454542 ecr 4014670766], ความยาว 0
17:03:29.225273 IP 172.20.122.129.9000 > 169.254.167.173.36088: ค่าสถานะ [P.], seq 1:818, ack 107, ชนะ 167, ตัวเลือก [nop,nop,TS val 4073454543 ecr 4014670766], ความยาว 8176],
17:03:29.225341 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [.], ack 818, ชนะ 166, ตัวเลือก [nop,nop,TS val 4014670767 ecr 4073454543], ความยาว 0
17:03:29.225399 IP 172.20.122.129.9000 > 169.254.167.173.36088: ค่าสถานะ [.], seq 818:7958, ack 107, ชนะ 167, ตัวเลือก [nop,nop,TS val 4073454543 ecr 40146 ความยาว 70740],
17:03:29.225422 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [.], ack 7958, ชนะ 155, ตัวเลือก [nop,nop,TS val 4014670767 ecr 4073454543], ความยาว 0
17:03:29.225430 IP 172.20.122.129.9000 > 169.254.167.173.36088: ค่าสถานะ [.], seq 7958:15098, ack 107, win 167, ตัวเลือก [nop,nop,TS val 4073454543 ecr 40146707 ความยาว 1647 1707]
17:03:29.225448 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [.], ack 15098, ชนะ 138, ตัวเลือก [nop,nop,TS val 4014670767 ecr 4073454543], ความยาว 0
17:03:29.225457 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [P.], seq 15098:23486, ack 107, win 167, options [nop,nop,TS val 4073454543 ecr 036147],
17:03:29.225474 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [.], ack 23486, ชนะ 119, ตัวเลือก [nop,nop,TS val 4014670767 ecr 4073454543], ความยาว 0
17:03:29.225564 IP 172.20.122.129.9000 > 169.254.167.173.36088: ค่าสถานะ [F.], seq 23486, ack 107, ชนะ 167, ตัวเลือก [nop,nop,TS val 4073454543 ecr 4014670767], ความยาว
17:03:29.225609 IP 169.254.167.173.36088 > 172.20.122.129.9000: ค่าสถานะ [R.], seq 107, ack 23486, ชนะ 166, ตัวเลือก [nop,nop,TS val 4014670767 ecr 40734504543], ความยาว
17:03:29.524333 IP 172.20.122.129.9000 > 169.254.167.173.9984: ค่าสถานะ [.], ack 3370092883, ชนะ 166, ตัวเลือก [nop,nop,TS val 4073454842 ecr 1976747960], ความยาว 0
17:03:29.524564 IP 169.254.167.173.9984 > 172.20.122.129.9000: ค่าสถานะ [.], ack 1, ชนะ 171, ตัวเลือก [nop,nop,TS val 1976763065 ecr 4073424519], ความยาว 0
17:03:34.218598 IP 172.20.122.129.45239 > 10.96.0.10.53: 23854+ AAAA? kubernetes.default.svc (40)
17:03:34.219065 IP 172.20.122.129.38604 > 10.96.0.10.53: 24098+ A? kubernetes.default.svc (40)
17:03:34.388311 IP 172.20.122.129.9000 > 169.254.167.173.7394: ค่าสถานะ [.], ack 917, ชนะ 166, ตัวเลือก [nop,nop,TS val 4073459706 ecr 1976752753], ความยาว 0
17:03:34.388402 IP 169.254.167.173.7394 > 172.20.122.129.9000: ค่าสถานะ [.], ack 1, ชนะ 171, ตัวเลือก [nop,nop,TS val 1976767929 ecr 4073444530], ความยาว 0
17:03:34.388314 IP 172.20.122.129.9000 > 169.254.167.173.3949: ค่าสถานะ [.], ack 917, ชนะ 166, ตัวเลือก [nop,nop,TS val 4073459706 ecr 1976752753], ความยาว 0
17:03:34.388424 IP 169.254.167.173.3949 > 172.20.122.129.9000: ค่าสถานะ [.], ack 1, ชนะ 171, ตัวเลือก [nop,nop,TS val 1976767929 ecr 4073444530], ความยาว 0
17:03:34.388288 IP 172.20.122.129.9000 > 169.254.167.173.26855: ค่าสถานะ [.], ack 917, ชนะ 166, ตัวเลือก [nop,nop,TS val 4073459706 ecr 1976752752], ความยาว 0
17:03:34.388544 IP 169.254.167.173.26855 > 172.20.122.129.9000: ค่าสถานะ [.], ack 1, ชนะ 171, ตัวเลือก [nop,nop,TS val 1976767929 ecr 4073444529], ความยาว 0
17:03:39.216823 IP 169.254.167.173.36182 > 172.20.122.129.9000: ค่าสถานะ [S], seq 2192346809, ชนะ 43200, ตัวเลือก [mss 1440,sackOK,TS val 4014680758 ecr 0,nop,w scale 0
17: 03: 39.216889 IP 172.20.122.129.9000> 169.254.167.173.36182: ธง [S. ], SEQ 1678785660, ACK 2192346810 ]
, ความยาว 0