BM: Baca dalam Bahasa Melayu
World K9: Cluster Admin
Fix CoreDNS and kube-proxy
You will learn: to tell a phone book problem (CoreDNS) from a runner problem (kube-proxy), and fix the first.
Checked with Kubernetes 1.37 on 1 Nov 2026
The problem
From the client tray, calling the shop by its Service IP works. Calling it by the name shop fails. What is broken?
Pick one answer.
Watch
kind-dev namespace defaultEvery tray asks the phone book at 10.96.0.10. That number is the kube-dns Service. Behind it run the CoreDNS: The food court's phone book: it turns names like shop into Service IPs. trays.
Try it
Which part do you suspect? Sort each clue.
Drag a card into a box. Or tap the card, then tap the box.
Try it
Someone scaled CoreDNS to 0 “to save money”. Bring the phone book back: 2 ready trays. Note: this practice cluster still answers names meanwhile. A real one would not.
kind-dev namespace defaultshop3/3 ready
dev-control-planeOpenManagerNo trays here.
dev-workerOpen- shop·5pldw
- shop·r9q8j
dev-worker2Open- client
- shop·j89pb
Hint
CoreDNS is a Deployment inkube-system. Scale it back to 2.Watch
kind-dev namespace defaultkube-proxy: Runs on every stall and sends order-number (Service) traffic to the right trays. is the runner on every stall. It turns a Service IP into a real tray’s address. A DaemonSet keeps one per stall.
Predict
You delete the kube-proxy tray on dev-worker2. What happens next?
Pick one answer.
Check
Names fail. Put the DNS ladder in order, like the official guide.
First rung at the top. Put these in order. Use the arrows, or drag.
- kubectl logs -n kube-system -l k8s-app=kube-dns
- kubectl exec client -- cat /etc/resolv.conf
- kubectl get endpointslice -l kubernetes.io/service-name=kube-dns -n kube-system
- kubectl get pods -n kube-system -l k8s-app=kube-dns
- kubectl exec client -- nslookup shop
You did it!
You can now tell a CoreDNS problem from a kube-proxy one.
Go deeper (optional)
CoreDNS reads its rules (the Corefile) from the ConfigMap coredns. Where the story breaks: a real food court is one building. Cluster stalls can sit in different rooms, or clouds. And this practice cluster answers names even with CoreDNS down.
Real mission
kubectl -n kube-system scale deployment coredns --replicas=0kubectl run dnstest --image=busybox:1.37 --rm -it --restart=Never -- nslookup kubernetes.defaultkubectl -n kube-system scale deployment coredns --replicas=2
0 of 3 steps done · Your ticks are saved.
Bahasa Melayu
Dari dulang client, panggil shop guna IP Service-nya berjaya. Panggil guna nama shop gagal. Apa yang rosak?
Setiap dulang tanya buku telefon di 10.96.0.10. Nombor itu ialah Service kube-dns. Di belakangnya ada dulang CoreDNS.
Bahagian mana yang anda syak? Susun setiap petunjuk.
Seseorang kecilkan CoreDNS kepada 0 “untuk jimat”. Pulihkan buku telefon: 2 dulang sedia. Nota: kluster latihan ini masih jawab nama sementara itu. Kluster sebenar tidak.
kube-system. Besarkan semula kepada 2.kube-proxy ialah pelari di setiap gerai. Ia tukar IP Service kepada alamat dulang sebenar. DaemonSet pastikan satu bagi setiap gerai.
Anda padam dulang kube-proxy di dev-worker2. Apa berlaku seterusnya?
Nama gagal. Susun tangga DNS ikut urutan, seperti panduan rasmi.
Kini anda boleh bezakan masalah CoreDNS daripada masalah kube-proxy.
You finished this before. Practice is always welcome!
Official docs: Kubernetes: debugging DNS resolution · Kubernetes: DNS for Services and Pods · Kubernetes: debug Services · kube-proxy
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?