Peta dunia

 

EN: Read in English

Dunia K3: Kaunter & Pintu

NetworkPolicy dan plugin CNI

Anda akan belajar: kunci pintu pod secara lalai, dan benarkan hanya pod pilihan anda.

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
Pod bernama stranger minta halaman kedai, dan dapat. Output terminal: $ kubectl exec stranger -- wget -qO- -T 5 http://shop <h1>Kedai Kancil</h1>

Dulang orang asing masuk terus ke dapur kedai. Secara lalai, setiap pintu dalam kluster terbuka.

Tengok

NetworkPolicy: Senarai tetamu di pintu pod: pod mana boleh masuk, dipilih ikut label. ialah senarai tetamu di pintu pod. Tiada dalam senarai? Pintu kekal tertutup. Hidupkan kunci, kemudian hantar pesanan.

Rosakkan satu hop supaya pengguna dapat: tamat masa (timeout).

  1. Pelayar webGET / di port 80
  2. Gateway (pintu masuk)entrance mendengar di :80
  3. HTTPRoute (papan tanda)/ → shop:80
  4. Service (nombor giliran)shop: port 80 → 80
  5. EndpointSlice (dulang sedia)2 sedia daripada 2
  6. Pod (dulang)shop-94c9756fd-8tghh mendengar di :80
Rosakkan sesuatu

Teka

Anda apply policy ini. Bolehkah client masih sampai ke kedai?

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
spec:
  podSelector: {}
  policyTypes:
    - Ingress

Pilih satu jawapan.

Cuba

Setiap pintu kini berkunci. Benarkan client sahaja masuk semula dengan allow-client.yaml.

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

Tiada dulang di sini.

dev-workerBuka
  • shop·6n92s
  • shop·pfz6p
  • stranger
dev-worker2Buka
  • client
  • shop·c24gr
Masa: +0s (dipercepat)

Senarai tetamunya:

  ingress:
    - from:
        - podSelector:
            matchLabels:
              app: client
      ports:
        - port: 80

Semak

Kunci ini tak boleh apply. Baca kata-kata kubectl, kemudian baiki.

Baiki manifest ini, kemudian tekan Apply.

deny-all.yaml9 baris

Maksudnya: Kubernetes kenal Ingress dan Egress, dengan huruf besar sahaja.

Tengok

Policy hanya kata-kata. plugin CNI (CNI plugin): Laluan pejalan kaki medan selera: plugin rangkaian yang beri IP kepada pod dan kuatkuasakan NetworkPolicy., laluan pejalan kaki medan selera, yang jadikannya nyata. Plugin mana yang buat begitu?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Semak

      Nilai setiap tabiat.

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

      1 / 4

      Mulakan namespace dengan deny-all, kemudian benarkan ikut label.

      Mulakan namespace dengan deny-all, kemudian benarkan ikut label.

      Anda berjaya!

      Kini anda boleh kunci pintu pod, dan benarkan hanya pod yang betul.

      Nak tahu lebih (pilihan)

      Di mana cerita ini tak tepat: Service bukan kaunter sebenar. Tiada siapa berdiri di situ; setiap gerai cuma tukar alamat. Pintu berkunci tak berbunyi: paket yang dibuang hilang begitu sahaja, jadi anda nampak timeout. Policy bertambah: mana-mana peraturan allow yang sepadan buka pintu. Peraturan egress boleh sekat DNS juga.

      Latihan sebenar (pilihan), di kind 0.24 ke atas:

      Misi sebenar

      1. kubectl get networkpolicy

      0 daripada 4 langkah siap · Tanda anda disimpan.