Senario
Sebuah nod pekerja Kubernetes Linux dalam pengeluaran menjadi tidak boleh dicapai dari kluster, menyebabkan pod kehilangan sambungan. Status nod menunjukkan NotReady dan amaran pemantauan aplikasi berbunyi.
Simptom
kubectl get nodesmenunjukkan statusNotReadyuntuk nod tersebutkubectl describe node <node>melaporkan keadaanKubeletNotReady- Pod pada nod tersebut tersekat dalam
ContainerCreatingatauCrashLoopBackOff - IP pod tidak boleh dicapai dari nod lain (masa tamat
ping/curl) - Log kubelet mengandungi ralat rangkaian berulang seperti
network plugin is not readyataufailed to get pod status
Langkah Diagnosis
-
Periksa status kubelet
bash systemctl status kubelet journalctl -u kubelet -n 100 --no-pagerCari ralat seperticni config uninitializedatauno such file or directory. -
Periksa runtime kontena (containerd/cri-o)
bash crictl info crictl podsPastikan runtime sihat dan plugin CNI didaftar. -
Periksa konfigurasi CNI
bash cat /etc/cni/net.d/*.conf ls -la /opt/cni/bin/Sahkan sintaks fail konfigurasi dan kehadiran binari plugin. -
Periksa antara muka rangkaian dan penghalaan
bash ip a ip route bridge fdb showPastikan jambatancni0wujud dan antara muka fizikal aktif. -
Periksa peraturan iptables
bash iptables -L -n -t nat iptables -L -n -t filterCari peraturan DROP yang tidak dijangka atau entri lapuk. -
Log sistem
bash dmesg -T | tail -20 grep -i error /var/log/syslog | tail -30Periksa ralat pemacu NIC, ketidakpadanan MTU, atau amaran kernel. -
Ujian sambungan asas
bash ping <gateway> curl -I http://<pod-ip>:<port>Jika gateway gagal, masalah mungkin fizikal atau L2; jika gateway berfungsi tetapi IP pod gagal, lapisan CNI adalah penyebab.
Kawalan Risiko
- Jangan sekali-kali memulakan semula kubelet atau perkhidmatan rangkaian semasa trafik puncak melainkan nod sudah gagal. Gunakan
kubectl cordondandrainterlebih dahulu. - Sandarkan semua fail konfigurasi sebelum mengubah
/etc/cni/atau/etc/kubernetes/. - Uji perubahan pada nod bukan pengeluaran terlebih dahulu jika boleh.
- Elakkan operasi nod secara massa — selesaikan masalah satu nod pada satu masa untuk mengehadkan impak.
Pelan Rollback
- Pulihkan konfigurasi CNI dari sandaran dan mulakan semula kubelet:
bash cp /etc/cni/net.d/10-flannel.conflist.bak /etc/cni/net.d/10-flannel.conflist systemctl restart kubelet - Jika restart kubelet menyebabkan masalah lain, kosongkan dan set semula nod:
bash systemctl stop kubelet crictl ps -aq | xargs crictl rm systemctl start kubelet - Kembalikan sebarang perubahan sysctl:
bash sysctl -p /etc/sysctl.conf.bak
Pengesahan
- Status nod menjadi
Ready:bash kubectl get nodes - Semua pod bertukar ke
Running:bash kubectl get pods -o wide --all-namespaces | grep <node> - Sambungan pod-ke-pod berfungsi:
bash kubectl exec -it <pod> -- curl http://<other-pod-ip>:<port> - Pemeriksaan kesihatan aplikasi lulus (contohnya HTTP 200).
Bila Perlu Menghantar Tiket OpsGlobal
Hantar segera jika: - Diagnosis asas gagal mengenal pasti punca selepas 15 minit. - Kerosakan kernel, ralat perkakasan (NIC/PCIe), atau isu pemacu dikesan. - Nod tidak boleh dicapai sama sekali melalui SSH (memerlukan bantuan luar talian). - Anda memerlukan bantuan dengan upgrade CNI atau penalaan parameter kernel.
OpsGlobal menyediakan sokongan SRE jauh 24/7 – muat naik log dan dapatkan bantuan pakar dengan pantas.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu DevOps dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Panduan praktikal untuk mendiagnosis dan menyelesaikan kegagalan rangkaian pada nod pekerja Kubernetes Linux dalam persekitaran pengeluaran, termasuk simptom, arahan kawalan risiko, rollback, dan bila perlu menghubungi OpsGlobal.
Langkah Penyelesaian
Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.
Contoh Arahan
Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.
Risiko
Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.
Pelan Rollback
Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.
Senarai Serahan
Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.
Perlu bantuan isu teknikal serupa?
Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.