Ücretsiz ders · CKAD Hazırlık Programı · Modül 6: Servisler ve ağ
Uygulama Trafiği için Ingress Kuralları Yazmak
Uygulamalar dünyayla Ingress üzerinden buluşur: içe makineler ve yollar, dışa arka uç Servisler, uçta TLS. Kurallar geliştiricinin, sunum denetleyicinindir.
11 dk okuma
Kazanımlar
- Tek makine artı yol kurallarını doğru arka uç Servislere yöneltmek
- Uygulamayı aynı ad alanındaki TLS sırrıyla HTTPS üzerinden sunmak
- Boş ADDRESS ile sertifika hatalarını doğru katmana ayıklamak
- Denetleyiciye özgü ihtiyaçlara taşınabilirliği kırmadan açıklama eklemek
Neden önemli
Tek alan adı arkasında önyüz artı API artı yönetim konsolu standart şekildir ve Ingress üç yük dengeleyici yerine tek nesnede anlatır. Geliştirici beceri tam yönelten kurallar yazmak, kümenin güvendiği TLS ile güvene almak ve arızaları çalışan kuralları yeniden yazmak yerine doğru katmana okumaktır.
Kavramlar
Kurallar makine artı yolu Servis adı artı porta eşler. / üzerinde pathType Önek altındaki her şeye yayılır; Tam sağlık kontrolleri ve kancalar için tek uç noktaları çakar. tls bloğu makineleri tls.crt artı tls.key taşıyan Sırla eşler; Ingress ad alanında olmalıdır: eşleşmeyen makineler veya ad alanları arası sırlar gerektiği gibi gürültüyle düşer.
Denetleyici durum ADDRESS alanını sununca doldurur: boşluk denetleyici yok (veya bozuk) demektir, adresli sertifika hataları Sır veya makine derdi demektir. Açıklamalar denetleyici davranışını ayarlar (yeniden yazmalar, zaman aşımları, gövde sınırları) taşınabilirlik bedeliyle: en az tut, yorumla; sonraki küme her birini değerlendirebilsin.
Uygulamalı örnek
Mağaza önyüzü artı API artı tam sağlık ucu, hepsi HTTPS:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: shop
namespace: demo
annotations: { nginx.ingress.kubernetes.io/proxy-body-size: 10m }
spec:
tls:
- { hosts: [shop.demo.test], secretName: shop-tls }
rules:
- host: shop.demo.test
http:
paths:
- path: /healthz
pathType: Exact
backend: { service: { name: shop, port: { number: 80 } } }
- path: /api/
pathType: Prefix
backend: { service: { name: shop-api, port: { number: 80 } } }
- path: /
pathType: Prefix
backend: { service: { name: shop, port: { number: 80 } } }
kubectl get ingress -n demo # ADDRESS dolu: denetleyici sunuyor
curl -k https://shop.demo.test/api/orders # shop değil shop-api yanıtlarSıra okuyanlar içindir (önce tam); sondaki Önek / kalanı yakalar. Her yolu curl ile sına, yönlendirme bitti demeden hangi arka ucun yanıtladığını oku.
Sınav notları
TLS makineleri kural makinelerini kapsamalı, yoksa tarayıcılar tam kapsanmayan ad için isyan eder. Aynı ad alanı Sır zorunludur, tavsiye değil. Ve Önek / de /herhangi ile eşleşir: dar kurallar çoğu denetleyicide eşleşme en uzun öncelikli olsa da okuma sırasında üstte durur.
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 uygulamaya tek Ingress yaz (tam /healthz, /api/ öneki, / yakalayıcı) TLS üzerinden; her yolun doğru arka uca gittiğini curl kanıtıyla göster. TLS makine listesini bir kez boz, sonuç hatayı alıntıla.
Geçme kriterleri
Üç yol Tam artı Önek anlamlarıyla doğru; yol başına curl kanıtlı; TLS kırılması kapsanmayan makine okumasıyla alıntılı.