Black Friday · 27 Kasım 2026

Seçili sertifikalarda %90'a varan indirim.

Çok değerli bir kariyer hedefi için tek seferlik fırsat. Sınırlı sayıda kupon, önce bekleme listesine.

Ücretsiz ders · CKAD Hazırlık Programı · Modül 6: Servisler ve ağ

Ağ Politikalarıyla Yaşayan Uygulamalar Kurmak

Politika kilitli ad alanları bildirilmeyeni reddeder. Uygulamalar her şeyi bildirerek yaşar: bağımlılıklar, portlar, DNS ve seçicilerin eşleşeceği etiketler.

12 dk okuma

Kazanımlar

  • Kilitten önce uygulamanın ihtiyaç duyduğu her bağlantıyı listelemek
  • Politikanın seçeceği etiketleri ilk günden bildirmek
  • Her kuraldan sonra izinli artı yasaklı kimliklerden bağlantıyı sınamak
  • Politika engelli uygulamayı eksik izin girdisine kadar ayıklamak

Neden önemli

Klasik politika zayiatı geliştirmede hiç görmediği kilitli ad alana dağıtılan doğru uygulamadır. Bağlantılar sessiz ölür (zaman aşımı, hata değil) ve uygulaman platformun yeni kurallarına suçlanır. Politika bilinçli geliştirmek akışları önce saymak, seçicilere hep etiketlemek demektir.

Kavramlar

Kodlamadan önce say: veritabanı makine artı port, önbellek, kuyruklar, harici APIler, metrik kazımalar ve DNS (kube-dnsye UDP ve TCP 53). Her girdi izin kuralı olur veya kesinti olur; üçüncü sonuç yoktur. Etiketler sözleşmedir: yazım anında seçilen uygulama, rol ve katman etiketleri politikaların sonra eşleştiğidir; her podu sanki politika varmış gibi etiketle.

Çıkış hedefleri eş türüne göre bildirir: küme komşularına podSelector, platform servislerine namespaceSelector, dış dünyaya ipBlock. Ayıklama yapısal iki taraflıdır: izinli kimlikten başarı artı yasaklıdan zaman aşımı kuralı kanıtlar, kırılma yokluğunu değil.

Uygulamalı örnek

Kasa uygulaması 8443te defter, 5432de Postgres, DNS ister; başka hiçbir şey:

# uygulama podları politikaların seçeceği etiketleri taşır
metadata: { labels: { app: checkout, tier: backend } }
# geliştiricisinin dağıtımla bildirdiği izin girdileri
egress:
- to: [{ podSelector: { matchLabels: { app: ledger } } }]
  ports: [{ protocol: TCP, port: 8443 }]
- to: [{ podSelector: { matchLabels: { app: postgres } } }]
  ports: [{ protocol: TCP, port: 5432 }]
- to:
  - namespaceSelector: {}
    podSelector: { matchLabels: { k8s-app: kube-dns } }
  ports: [{ protocol: UDP, port: 53 }, { protocol: TCP, port: 53 }]

Akış listesini uygulamayla gönder: inceleyenler girdileri kod içe aktarmalarıyla eşleştirir, politika yazarı tahmin yerine kopyalar. Uygulama podundan curl ile sına (olur), etiketsiz hata ayıklama podundan (zaman aşımı).

Sınav notları

Metrik uçları açık izin ister, yoksa kazıma kilitle ölür: kazıyıcının kimliğini de bildir. Kubelet sağlık probları politikaları atlar (düğümden poda, poddan poda değildir); ölü uygulama trafiğinde geçen problar uygulama değil politika demektir. Ve büyük yanıtlarda TCP DNS önemlidir: yalnız UDP 53 izni tam en büyük aramaları düşürür.

Mini kontrol

4 soruluk öz kontrol. Yanıtların cihazında kalır, saklanmaz ve gönderilmez. Yalnızca geçen skor (ör. 4 soruda 3) kaydedilir ve yalnızca ders ilerlemesinin kilidini açmak için: bir dersin tamamlanmış sayılması için en az 3 doğru gerekir. Hiçbir sertifika değerlendirmesine sayılmaz.

Ders geri bildirimi

Henüz yayında geri bildirim yok.

Geri bildirim yazmak için giriş yap ve dersi tamamla.

Kaynaklar

Alıştırma

Kurgusal üç katmanlı uygulamanın ihtiyaç duyduğu her bağlantıyı listele (katmanlar artı veritabanı artı DNS), podları seçimlik etiketle, çıkış girdilerini yaz. Biri izinli biri yasaklı akımın beklenen sonuçlu iki taraflı sınamasını göster.

Geçme kriterleri

Akış listesi DNS ve varsa metrik dahil eksiksiz; etiketler seçicileri destekler; girdiler tüm akımları kapsar; iki taraflı sınama başarı artı zaman aşımını doğru gösterir.

İlerlemeni kaydetmek için giriş yapÜcretsiz hesap: yalnızca ders ilerlemen ve quiz sonuçların saklanır.