Peta dunia

 

EN: Read in English

Dunia K3: Kaunter & Pintu · Cabaran bos

Buka pintu

Anda akan belajar: hala / dan /api melalui Gateway dengan TLS, dan kunci pangkalan data.

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
Tiga Service berjalan: api, db dan shop. Belum ada Gateway. Output terminal: $ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE api ClusterIP 10.96.100.64 <none> 80/TCP 21s db ClusterIP 10.96.184.211 <none> 5432/TCP 21s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m21s shop ClusterIP 10.96.169.126 <none> 80/TCP 21s $ kubectl get gateway No resources found in default namespace.

Boss: malam pembukaan Kedai Kancil! Pelanggan perlukan / dan /api, melalui HTTPS. Pangkalan data mesti kekal berkunci. Lima bilik. Jom!

Cuba

Bilik 1: Mei salin papan /api dari Ingress lama. Ia tak boleh apply. Baikinya.

Baiki manifest ini, kemudian tekan Apply.

api-route.yaml16 baris

Cuba

Bilik 2: bina pintu masuk dan pasang papan tanda. Kemudian ketuk di /api.

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

Tiada dulang di sini.

dev-workerBuka
  • api·t8fcl
  • shop·4jjmg
  • shop·s7gcz
dev-worker2Buka
  • api·czglm
  • db·jlkfb
  • shop·dxr6c
Masa: +0s (dipercepat)

Cuba

Bilik 3: dalam salinan rakan sepasukan, /api jawab 503. Cari langkah yang rosak dan tukar semula.

Ada yang rosak. Cari, baiki, kemudian hantar semula.

  1. Pelayar webGET /api/menu di port 80
  2. Gateway (pintu masuk)entrance mendengar di :80
  3. HTTPRoute (papan tanda)/api → api:80
  4. Service (nombor giliran)api: port 80 → 8080
  5. EndpointSlice (dulang sedia)0 sedia daripada 0
  6. Pod (dulang)api-6d8f7b9c5d-k2x8p mendengar di :8080
Rosakkan sesuatu

Cuba

Bilik 4: kunci pesanan di tengah jalan. Secret sijil kedai-tls dah sedia. Buka pintu HTTPS.

Anda di sini: kluster kind-dev namespace default
Gerai: 3. Dulang: 6 (6 sedia). Menunggu gerai: 0.
Pintu masuk entrance 172.18.0.200/ → shop/api → api
  • api2/2 sedia
  • db1/1 sedia
  • shop3/3 sedia
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • api·l2nhc
  • shop·7vjrt
  • shop·zs7lw
dev-worker2Buka
  • api·6dt9n
  • db·mqvk2
  • shop·crjtt
Masa: +0s (dipercepat)

Semak

Bos anda tanya: “Siapa perbaharui sijil itu tiga bulan lagi?”

Pilih satu jawapan.

Cuba

Bilik terakhir: kunci pangkalan data. Hanya api boleh panggil. Dua fail dah sedia: db-deny.yaml dan db-lock.yaml. Baca dulu.

Anda di sini: kluster kind-dev namespace default
Gerai: 3. Dulang: 6 (6 sedia). Menunggu gerai: 0.
Pintu masuk entrance 172.18.0.200/ → shop/api → api
  • api2/2 sedia
  • db1/1 sedia
  • shop3/3 sedia
dev-control-planeBukaPengurus

Tiada dulang di sini.

dev-workerBuka
  • api·shnfm
  • shop·65h4h
  • shop·vfxd9
dev-worker2Buka
  • api·fbvhc
  • db·9vvzw
  • shop·dv2kn
Masa: +0s (dipercepat)

Semak

Soalan terakhir. Kenapa kedai dapat timeout, bukan halaman ralat?

Pilih satu jawapan.

Anda berjaya!

Kini anda boleh buka pintu dengan selamat, dan kunci pangkalan data.

Nak tahu lebih (pilihan)

Dalam kluster latihan, pangkalan data jawab permintaan web di 5432. Jadi wget boleh uji kunci itu. Postgres sebenar guna protokolnya sendiri. Uji dengan klien pangkalan data.

Latihan sebenar (pilihan): bilik yang sama di kluster kind anda (kind 0.24 ke atas):

Misi sebenar

0 daripada 4 langkah siap · Tanda anda disimpan.