Ücretsiz ders · CKA Hazırlık Programı · Modül 4: Servisler ve ağ
TLS Dahil Ingress Kuralları Yazmak
Ingress HTTP ön kapısıdır: tek nesne makine ve yolları Servislere eşler, tek TLS bloğu şifreler. Sunumu denetleyici yapar; nesne yalnız niyeti bildirir.
12 dk okuma
Kazanımlar
- HTTP yollarını ve makineleri doğru arka uç Servislere yöneltmek
- TLS sırrı ekleyip tek Ingress üzerinden uçtan uca HTTPS sunmak
- Giriş denetleyicisinin yaptığıyla Ingress nesnesinin yapmadığını söylemek
- Yönlendirme çökünce giriş durumu artı denetleyici loglarını okumak
Neden önemli
Her Servisi ayrı LoadBalancer açmak pahalı ve birkaç uygulamadan sonra yönetilemez. Ingress harici HTTP girişini tek yerde toplar; ada ve yola göre yönlendirme artı merkezi TLS sonlandırma. Sınav bildirimi ve denetleyici ilişkisini ölçer; çünkü sessizce hiçbir yere gitmeyen yönlendirme imza Ingress arızasıdır.
Kavramlar
Ingress nesnesi kuralları (arka uç Servislere makine artı yollar) ve isteğe bağlı tls bölümünü (makine başına Sır) tutar. Tek başına hiçbir şey yapmaz: giriş denetleyicisi (NGINX, Traefik, buluta özgü) Ingress nesnelerini izler, gerçek vekili yapılandırır. Denetleyici yoksa ADDRESS alanı sonsuza boş kalır; önce buna bakılır.
Yollar tiple eşleşir: Tam, Önek veya denetleyiciye özgü desen. Arka uç Servislere ad artı port numara veya adıyla başvurulur. TLS Sırrı Ingress ile aynı ad alanında tls.crt artı tls.key taşımalı ve tls makine listesi kural makinelerini kapsamalı, yoksa tarayıcılar şikâyet eder. Sonlandırma denetleyicide olur; arkadaki trafik bilerek yeniden şifrelenmedikçe Servise düz HTTP gider.
Uygulamalı örnek
İki uygulama, her birine bir makine, ikisinde TLS, laboratuvar için öz imzalı:
# önce sır, ingress ile aynı ad alanında
kubectl create secret tls demo-tls \
--cert=tls.crt --key=tls.key -n demo
# tek ingress, iki makine
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata: { name: demo, namespace: demo }
spec:
tls:
- { hosts: [shop.demo.test, api.demo.test], secretName: demo-tls }
rules:
- host: shop.demo.test
http: { paths: [{ path: /, pathType: Prefix,
backend: { service: { name: shop, port: { number: 80 } } } }] }
- host: api.demo.test
http: { paths: [{ path: /, pathType: Prefix,
backend: { service: { name: api, port: { number: 80 } } } }] }
kubectl get ingress -n demo # ADDRESS denetleyici doldurur
curl -k https://shop.demo.test/ # /etc/hosts ADDRESS gösterirBoş ADDRESS denetleyici yok (veya bozuk) demektir: kuralları yeniden yazmadan önce denetleyici podlarına bak. Dolu adreste sertifika hataları Sır veya makine listesi demektir, yönlendirme değil.
Sınav notları
Sır ve Ingress aynı ad alanını paylaşmalı: ad alanları arası TLS başvuruları çalışmaz. v1de pathType zorunludur ve / üzerinde Önek altındaki her şeyi yakalar. Ve kubectl describe ingress denetleyicinin görüşünü gösterir; varsayılan arka uç ve kural hataları dahil, YAML yeniden okumaktan iyidir.
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
Oluşturduğun Sır ile iki kurgusal makinelik TLSli tek Ingress yaz; sonra iki yoldan boz (Sır için yanlış ad alanı, sonra denetleyiciyi sıfıra ölçekle) ve her arızanın get artı describe çıktısında nasıl göründüğünü kaydet.
Geçme kriterleri
Ingress iki makine artı TLS bloğuyla geçerli; iki kırılma da ayırt edici çıktıyla yeniden üretilmiş (sertifika/makine hatası ile boş ADDRESS).