Ücretsiz ders · CKAD Hazırlık Programı · Modül 6: Servisler ve ağ
Uygulamaları Doğru Servis Tipiyle Açmak
Geliştiricinin servis sorusu hep bunu kim çağırır olur. Küme içi çağıranlar ClusterIP alır, önizlemeler NodePort, dünya LoadBalancer veya Ingress, dış bağımlılıklar ExternalName alır.
10 dk okuma
Kazanımlar
- Küme içi trafiği ClusterIP üzerinde sunup uç noktaları kanıtlamak
- Bulut düzeneği olmadan NodePort ile sürümü dışarıya önizlemek
- Platform destekliyorsa LoadBalancer ile harici giriş istemek
- Sabit kodlu IP yerine ExternalName ile dış adlara temiz ulaşmak
Neden önemli
Yanlış servis tipleri uygulama tesliminde en ayıklanabilir saatleri harcar: gite işlenen NodePortlar, metal çıplakta asla karşılanmayan LoadBalancerlar, çürüyen sabit kodlu harici IPler. Çağırana göre seçmek bildirimleri geliştirme, evreleme ve üretim arası taşınabilir tutar; inceleyenlerin baktığı tam budur.
Kavramlar
ClusterIP küme çağıranlara sabit sanal IP sunar: varsayılan ve servisten servise trafikte doğru yanıt. NodePort insan önizlemeleri ve laboratuvar erişimi için düğüm çapı port ekler: kullanışlı, şifresiz, kimliksiz, asla üretim ön kapısı değil. LoadBalancer buluttan harici giriş ister, eşzamansız doldurur: Bekliyoru henüz değil diye kodla, bozuk diye değil. ExternalName dış bağımlılıklara CNAME döndürür: satıcı taşınınca bildirim değil yapılandırma değişir.
Portlar hassasiyet ister: port Servisin kulağı, targetPort kapsayıcının kulağıdır; targetPort adlandırmak Deploymentlerin kapsayıcı portlarını Servislere dokunmadan evrimleştirmesini sağlar. Uç noktalar her seçimi kanıtlar: adres yoksa seçici yanlıştır, tip ne olursa olsun.
Uygulamalı örnek
Küme çağıranlara API, insanlara önizleme, satıcıya adla ulaşım:
kubectl expose deployment api --port=80 --name=api
kubectl get endpoints api # hazır adresler: iç yol kanıtlı
kubectl expose deployment api --port=80 --type=NodePort --name=api-preview
# önizleme http://<dugum>:<dugumportu>/ yalnız insanlar için
apiVersion: v1
kind: Service
metadata: { name: vendor }
spec:
type: ExternalName
externalName: api.vendor.example
ports: [{ port: 443 }]
# uygulama https://vendor:443 çağırır, satıcı tek alan düzenlemeyle taşınırHer çağıran kendine uygun kapıyı alır; uygulamanın kodu bu Servisler dışında altyapı adresi adlandırmaz.
Sınav notları
Taze Servisler taze uç nokta ister: zafer ilanından önce hep denetle. Bildirimlere işlenen NodePortlar rastgele yüksek portları git geçmişine çakar: görevde kabul, incelemede işaret. Ve ExternalName seçicileri tümden yok sayar: uç noktalar tasarım gereği boş kalır, doğrudur.
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 2 kopya uygulamayı üç çağırana aç (küme servisi, insan önizlemesi, dış satıcı API) her birine doğru tiple. İçtekinin uç nokta kanıtını göster; satıcı adres değiştirirse her alternatif tasarımda neyin kırılacağını söyle.
Geçme kriterleri
Üç tip de çağırana göre doğru; iç uç nokta kanıtlı; satıcı değişim çözümü sabit kodlu IP karşısında ExternalNamei tek alan gerekçesiyle yeğler.