Tôi đã thiết lập một cụm kubernetes, nút đơn, debian 11. Tuy nhiên, CoreDNS của tôi dường như không giải quyết được gì. Tôi nhận thấy điều này bởi portainer không thể tải tài nguyên.
http: lỗi proxy: quay số tcp: tra cứu kubernetes.default.svc trên 10.96.0.10:53: đọc udp 10.244.0.4:57589->10.96.0.10:53: hết thời gian i/o
Thấy đây là thời gian chờ DNS của tôi, tôi đã kiểm tra dịch vụ:
root@dmvandenberg:~/kubernetes# kubectl get svc -n kube-system -o wide
TÊN LOẠI CLUSTER-IP (CỔNG IP NGOẠI THẤT) BỘ CHỌN TUỔI
kube-dns ClusterIP 10.96.0.10 <không có> 53/UDP,53/TCP,9153/TCP 78m k8s-app=kube-dns
root@dmvandenberg:~/kubernetes# kubectl get pods --selector=k8s-app=kube-dns -o wide -n kube-system
TÊN TRẠNG THÁI SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI IP NÚT NÚT ĐƯỢC ĐỀ CỬ CỔNG SẴN SÀNG
coredns-78fcd69978-2b6cq 1/1 Đang chạy 0 79m 10.244.0.2 dmvandenberg.nl <none> <none>
coredns-78fcd69978-swprh 1/1 Chạy 0 79m 10.244.0.3 dmvandenberg.nl <none> <none>
Tôi đã thiết lập cụm của mình với các tệp này:
con mèo 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 tạo -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl tạo -f https://docs.projectcalico.org/manifests/custom-resources.yaml
kubectl taint node --all node-role.kubernetes.io/master-
kubectl tạo -flocalstorage.yml --save-config
kubectl tạo -f pvportainer.yml --save-config
kubectl patch storageclass local-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
áp dụng kubectl -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
Tôi cũng đã thử với áp dụng kubectl -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
thay vì kubectl tạo -f https://docs.projectcalico.org/manifests/tigera-operator.yaml kubectl tạo -f https://docs.projectcalico.org/manifests/custom-resources.yaml
.
root@dmvandenberg:~/kubernetes# cat localstorage.yml
apiVersion: storage.k8s.io/v1
loại: Lớp lưu trữ
metadata:
tên: lưu trữ cục bộ
nhà cung cấp: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
root@dmvandenberg:~/kubernetes# mèo pvportainer.yml
phiên bản api: v1
loại: PersistentVolume
metadata:
tên: người khuân vác
thông số kỹ thuật:
dung tích:
lưu trữ: 11Gi
chế độ truy cập:
- ReadWriteOnce
liên tụcVolumeReclaimPolicy: Giữ lại
storageClassName: lưu trữ cục bộ
địa phương:
đường dẫn: /dockerdirs/pvportainer
nút mối quan hệ:
cần thiết:
nútSelectorĐiều khoản:
- biểu thức khớp:
- khóa: kubernetes.io/hostname
toán tử: Trong
giá trị:
- dmvandenberg.nl
Tôi đã thu hẹp vấn đề thành độ phân giải DNS bằng cách sử dụng lệnh và đầu ra sau:
root@dmvandenberg:~/kubernetes# nhật ký kubectl --namespace=kube-system -l k8s-app=kube-dns -f & tcpdump -ani cni0 udp port 53
[5] 9505
tcpdump: chặn đầu ra dài dòng, sử dụng -v[v]... để giải mã giao thức đầy đủ
nghe trên cni0, loại liên kết EN10MB (Ethernet), ảnh chụp nhanh dài 262144 byte
.:53
[INFO] plugin/tải lại: Chạy cấu hình MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.4
linux/amd64, go1.16.4, 053c4d5
.:53
[INFO] plugin/tải lại: Chạy cấu hình MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.4
linux/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.portainer.svc.cluster.local. (68)
21:21:07.629667 IP 10.244.0.4.43161 > 10.244.0.2.53: 433+ A? kubernetes.default.svc.portainer.svc.cluster.local. (68)
21:21:12.630395 IP 10.244.0.4.54508 > 10.244.0.3.53: 61466+ AAAA? kubernetes.default.svc.portainer.svc.cluster.local. (68)
21:21:12.630453 IP 10.244.0.4.46088 > 10.244.0.2.53: 55999+ A? kubernetes.default.svc.portainer.svc.cluster.local. (68)
^C
4 gói bị bắt
4 gói nhận được bởi bộ lọc
0 gói bị hạt nhân loại bỏ
Tôi muốn thấy câu trả lời cho các truy vấn DNS, nhưng tôi không thấy câu trả lời nào. Trên internet, tôi đã tìm thấy điều gì đó về việc thêm "nhật ký" vào tệp lõi của coredns, vì vậy tôi đã thử điều đó, nhưng không thấy bất kỳ dòng nhật ký nào xuất hiện. Điều này thuyết phục tôi rằng các thông báo UDP, như được hiển thị bởi tcpdump, không được đọc/nhận bởi coredns.
Tôi đã đi qua tất cả các bước trong https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/, nhưng điều này không giúp tôi tiến xa hơn.
Tôi đang bị mắc kẹt sau này mặc dù. Làm cách nào tôi có thể tiếp tục gỡ lỗi? Điều gì có thể sai?
Chỉnh sửa:
Tôi đã thử làm theo hướng dẫn này: https://www.oueta.com/linux/create-a-debian-11-kubernetes-cluster-with-kubeadm/
Tôi thấy chính xác cùng một kết quả, trên một giao diện khác:
16:56:06.482769 cali6bd455d068f Trong IP 172.20.122.129.60650 > 10.96.0.10.53: 31215+ AAAA? kubernetes.default.svc.portainer.svc.cluster.local. (68)
16:56:06.482980 cali6bd455d068f Trong IP 172.20.122.129.35119 > 10.96.0.10.53: 8608+ A? kubernetes.default.svc.portainer.svc.cluster.local. (68)
16:56:11.483200 cali6bd455d068f Trong IP 172.20.122.129.57079 > 10.96.0.10.53: 61639+ AAAA? kubernetes.default.svc.portainer.svc.cluster.local. (68)
16:56:11.483309 cali6bd455d068f Trong IP 172.20.122.129.38249 > 10.96.0.10.53: 14976+ A? kubernetes.default.svc.portainer.svc.cluster.local. (68)
16:56:16.484367 cali6bd455d068f Trong 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 Trong 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 Trong 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 Trong IP 172.20.122.129.36861 > 10.96.0.10.53: 44020+ A? kubernetes.default.svc.svc.cluster.local. (58)
Chạy tcpdump trên toàn bộ giao diện cho thấy TCP dường như hoạt động, xem xét các thông báo ACK được gửi lại. Điều tôi nhận thấy là không có lưu lượng truy cập từ 10.96.0.10 (dịch vụ) vào nhóm, nhưng tôi không biết liệu điều đó có bắt buộc không?
17:03:29.224602 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [.], ack 1, win 169, tùy chọn [nop,nop,TS val 4014670766 ecr 4073454542], độ dài 0
17:03:29.224869 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [P.], seq 1:107, ack 1, win 169, tùy chọn [nop,nop,TS val 4014670766 ecr 4073454542], độ dài 4073454542]
17:03:29.224887 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [.], ack 107, win 167, tùy chọn [nop,nop,TS val 4073454542 ecr 4014670766], độ dài 0
17:03:29.225273 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [P.], seq 1:818, ack 107, win 167, tùy chọn [nop,nop,TS val 4073454543 ecr 4014670 817]
17:03:29.225341 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [.], ack 818, win 166, tùy chọn [nop,nop,TS val 4014670767 ecr 4073454543], độ dài 0
17:03:29.225399 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [.], seq 818:7958, ack 107, win 167, tùy chọn [nop,nop,TS val 4073454543 ecr length 40146,70774]0
17:03:29.225422 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [.], ack 7958, win 155, tùy chọn [nop,nop,TS val 4014670767 ecr 4073454543], độ dài 0
17:03:29.225430 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [.], seq 7958:15098, ack 107, win 167, tùy chọn [nop,nop,TS val 4073454543 ecr 7614070, độ dài 7614070
17:03:29.225448 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [.], ack 15098, win 138, tùy chọn [nop,nop,TS val 4014670767 ecr 4073454543], độ dài 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, tùy chọn [nop,nop,TS val 4073454543 ecr 4018,7
17:03:29.225474 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [.], ack 23486, win 119, tùy chọn [nop,nop,TS val 4014670767 ecr 4073454543], độ dài 0
17:03:29.225564 IP 172.20.122.129.9000 > 169.254.167.173.36088: Flags [F.], seq 23486, ack 107, win 167, tùy chọn [nop,nop,TS val 4073454543 ecr 4014670 767]
17:03:29.225609 IP 169.254.167.173.36088 > 172.20.122.129.9000: Flags [R.], seq 107, ack 23486, win 166, tùy chọn [nop,nop,TS val 4014670767 ecr 4073454 543]
17:03:29.524333 IP 172.20.122.129.9000 > 169.254.167.173.9984: Flags [.], ack 3370092883, win 166, tùy chọn [nop,nop,TS val 4073454842 ecr 1976747960], độ dài 0
17:03:29.524564 IP 169.254.167.173.9984 > 172.20.122.129.9000: Flags [.], ack 1, win 171, tùy chọn [nop,nop,TS val 1976763065 ecr 4073424519], độ dài 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: Flags [.], ack 917, win 166, tùy chọn [nop,nop,TS val 4073459706 ecr 1976752753], độ dài 0
17:03:34.388402 IP 169.254.167.173.7394 > 172.20.122.129.9000: Flags [.], ack 1, win 171, tùy chọn [nop,nop,TS val 1976767929 ecr 4073444530], độ dài 0
17:03:34.388314 IP 172.20.122.129.9000 > 169.254.167.173.3949: Flags [.], ack 917, win 166, tùy chọn [nop,nop,TS val 4073459706 ecr 1976752753], độ dài 0
17:03:34.388424 IP 169.254.167.173.3949 > 172.20.122.129.9000: Flags [.], ack 1, win 171, tùy chọn [nop,nop,TS val 1976767929 ecr 4073444530], độ dài 0
17:03:34.388288 IP 172.20.122.129.9000 > 169.254.167.173.26855: Flags [.], ack 917, win 166, tùy chọn [nop,nop,TS val 4073459706 ecr 1976752752], độ dài 0
17:03:34.388544 IP 169.254.167.173.26855 > 172.20.122.129.9000: Flags [.], ack 1, win 171, tùy chọn [nop,nop,TS val 1976767929 ecr 4073444529], độ dài 0
17:03:39.216823 IP 169.254.167.173.36182 > 172.20.122.129.9000: Flags [S], seq 2192346809, win 43200, tùy chọn [mss 1440,sackOK,TS val 4014680758 ecr 0,nop,w 0 scale]
17: 03: 39.216889 IP 172.20.122.129.9000> 169.254.167.173.36182: Cờ [S.], SEQ 1678785660, ACK 2192346810, win 42840, ]
, độ dài 0