Peta dunia

 

EN: Read in English

Dunia K3: Kaunter & Pintu

DNS kluster

Anda akan belajar: panggil Service ikut nama, walaupun dalam namespace lain.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Anda di sini: kluster kind-dev namespace default
Client minta http://menu. wget kata: bad address 'menu'. Output terminal: $ kubectl exec client -- wget -qO- -T 5 http://menu wget: bad address 'menu' command terminated with exit code 1

Menu dah pindah ke zon dapur. Sekarang client dapat bad address 'menu'. Maksudnya: nama itu tiada makna dalam zon ini.

Tengok

Setiap Service dapat nama dalam DNS kluster (cluster DNS): Direktori medan selera: tukar nama Service seperti menu.kitchen kepada alamatnya., iaitu direktori medan selera. Susun bahagian nama penuhnya.

Kiri ke kanan, atas dulu. Susun ikut turutan. Guna anak panah, atau seret.

  • menu (Service itu)
  • svc (ia sebuah Service)
  • cluster.local (kluster ini)
  • kitchen (namespace tempatnya)

Cuba

Sampai ke menu dari client. Tambah zonnya pada nama.

Anda di sini: kluster kind-dev namespace default
Gerai: 3. Dulang: 2 (2 sedia). Menunggu gerai: 0.
  • menu1/1 sedia
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • menu·7w5wn
dev-worker2Buka
  • client
Masa: +0s (dipercepat)

Teka

Pod di dalam zon dapur panggil http://menu. Adakah ia berfungsi?

Pilih satu jawapan.

Semak

Client tinggal dalam zon default. Nilai setiap alamat yang ia guna.

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 5http://shop
http://shop

Anda berjaya!

Kini anda boleh panggil mana-mana Service ikut nama, dalam mana-mana namespace.

Nak tahu lebih (pilihan)

Direktori itu ialah CoreDNS: pod dalam kube-system di belakang Service kube-dns pada 10.96.0.10. Nama Service headless pulangkan IP setiap pod. Kalau nama gagal di mana-mana, semak CoreDNS dulu.

Latihan sebenar (pilihan), di kluster kind untuk dibuang:

Misi sebenar

  1. kubectl get pods -n kube-system -l k8s-app=kube-dns
  2. kubectl exec client -- cat /etc/resolv.conf
  3. kubectl exec client -- wget -qO- -T 5 http://shop.default.svc.cluster.local

0 daripada 3 langkah siap · Tanda anda disimpan.