Đây là lúc cuộc điều tra bắt đầu: CoreDNS không thể hoạt động lâu hơn trong vài giây, gây ra các lỗi sau:
$ kubectl lấy nhóm --all-namespaces
NAMESPACE NAME TÌNH TRẠNG SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI
ingress-nginx ingress-nginx-controller-8xcl9 1/1 Chạy 0 11h
ingress-nginx ingress-nginx-controller-hwhvk 1/1 Chạy 0 11h
ingress-nginx ingress-nginx-controller-xqdqx 1/1 Chạy 2 (10h trước) 11h
kube-system calico-kube-controllers-684bcfdc59-cr7hr 1/1 Chạy 0 11h
kube-system calico-node-62p58 1/1 Running 2 (10h trước) 11h
kube-system calico-node-btvdh 1/1 Chạy 0 11h
kube-system calico-node-q5bkr 1/1 Chạy 0 11h
kube-system coredns-8474476ff8-dnt6b 0/1 CrashLoopBackOff 1 (3s trước) 5s
kube-system coredns-8474476ff8-ftcbx 0/1 Lỗi 1 (2s trước) 5s
kube-system dns-autoscaler-5ffdc7f89d-4tshm 1/1 Running 2 (10h trước) 11h
kube-system kube-apiserver-hyzio 1/1 Running 4 (10h trước) 11h
kube-system kube-controller-manager-hyzio 1/1 Running 4 (10h trước) 11h
kube-system kube-proxy-2d8ls 1/1 Chạy 0 11h
kube-system kube-proxy-c6c4l 1/1 Running 4 (10h trước) 11h
kube-system kube-proxy-nzqdd 1/1 Chạy 0 11h
kube-system kube-scheduler-hyzio 1/1 Running 5 (10h trước) 11h
kube-system kubernetes-dashboard-548847967d-66dwz 1/1 Chạy 0 11h
kube-system kubernetes-metrics-scraper-6d49f96c97-r6dz2 1/1 Chạy 0 11h
kube-system nginx-proxy-dyzio 1/1 Chạy 0 11h
kube-system nginx-proxy-zyzio 1/1 Chạy 0 11h
kube-system nodelocaldns-g9wxh 1/1 Chạy 0 11h
kube-system nodelocaldns-j2qc9 1/1 Running 4 (10h trước) 11h
kube-system nodelocaldns-vk84j 1/1 Chạy 0 11h
kube-system registry-j5prk 1/1 Chạy 0 11h
kube-system registry-proxy-5wbhq 1/1 Chạy 0 11h
kube-system registry-proxy-77lqd 1/1 Chạy 0 11h
kube-system registry-proxy-s45p4 1/1 Đang chạy 2 (10h trước) 11h
mô tả kubectl
trên nhóm đó không mang lại nhiều điều cho bức tranh:
Sự kiện:
Nhập Lý do Tuổi từ Tin nhắn
---- ------ ---- ---- -------
Trình lập lịch trình mặc định của thập niên 67 được lên lịch bình thường Đã gán thành công kube-system/coredns-8474476ff8-dnt6b cho zyzio
Bình thường được kéo 25 giây (x4 trên 68 giây) kubelet Container image "k8s.gcr.io/coredns/coredns:v1.8.0" đã có trên máy
Đã tạo bình thường 25s (x4 trên 68s) kubelet Đã tạo coredns vùng chứa
Bắt đầu bình thường 25s (x4 trên 68s) kubelet Bắt đầu container coredns
Cảnh báo BackOff 6s (x11 trên 66s) kubelet Back-off khởi động lại vùng chứa không thành công
Nhưng việc xem nhật ký đã làm:
$ nhật ký kubectl coredns-8474476ff8-dnt6b -n kube-system
.:53
[INFO] plugin/tải lại: Chạy cấu hình MD5 = 5b233a0166923d642fdbca0794b712ab
CoreDNS-1.8.0
linux/amd64, go1.15.3, 054c9ae
[FATAL] plugin/vòng lặp: Đã phát hiện vòng lặp (127.0.0.1:49048 -> :53) cho vùng ".", xem https://coredns.io/plugins/loop#troubleshooting.Truy vấn: "HINFO 2906344495550081187.9117452939332601176."
Thật tuyệt khi tài liệu khắc phục sự cố được liên kết! Tôi bắt đầu duyệt trang đó và phát hiện ra rằng thực sự tôi /etc/resolv.conf
chứa IP cục bộ có vấn đề máy chủ tên 127.0.0.53
.
Ngoài ra, tôi tìm thấy thực IP DNS trong /run/systemd/resolve/resolv.conf
, nhưng câu hỏi bây giờ là: cách thực hiện hành động được mô tả trong tài liệu khắc phục sự cố, cho biết:
Thêm phần sau vào yaml cấu hình kubelet của bạn: resolvConf: (hoặc thông qua cờ dòng lệnh --resolv-conf không dùng nữa trong 1.10). ârealâ resolv.conf của bạn là tệp chứa IP thực của các máy chủ ngược dòng của bạn và không có địa chỉ cục bộ/loopback. Cờ này yêu cầu kubelet chuyển một resolv.conf thay thế cho Pods. Đối với các hệ thống sử dụng systemd-resolved, /run/systemd/resolve/resolv.conf thường là vị trí của ârealâ resolv.conf, mặc dù vị trí này có thể khác nhau tùy thuộc vào bản phân phối của bạn.
Vì vậy, các câu hỏi là:
- cách tìm hoặc nơi tạo yaml cấu hình kubelet đã đề cập,
- ở cấp độ nào tôi nên chỉ định
độ phân giảiConf
giá trị và
- nó có thể chấp nhận nhiều giá trị không? Tôi có hai máy chủ tên được xác định. Chúng có nên được đưa ra dưới dạng các mục riêng biệt hoặc một mảng không?