Ücretsiz ders · CKA Hazırlık Programı · Modül 4: Servisler ve ağ
İş Yükünü Doğru Servis Tipiyle Açmak
Servisler değişen pod IP'lerini tek sabit adrese çevirir. Tip kimin ulaşacağına karar verir; uç noktalar çalıştığını kanıtlar. Bu ders iki seçimi de bilerek sıkıcı yapar.
11 dk okuma
Kazanımlar
- Eldeki trafik için ClusterIP, NodePort veya LoadBalancer seçmek
- Trafiğin tam nereye gittiğini görmek için Uç Noktaları ve Dilimleri okumak
- Servisin neden harici IP almadığını açıklayıp düzeltmek
- İstemcilerin pod adreslerini doğrudan istediği yerde başsız Servis kullanmak
Neden önemli
Kubernetes üzerindeki her bağlantı sorunu iki sorudan birinde biter: Servisin uç noktası var mı ve istemci Servis adresine ulaşabiliyor mu. Önce uç noktaları okuyunca tüm ağ biletlerinin yarısı çözülür; uç nokta yoksa seçici hiçbir şeye uymuyor demektir ve gerisi tiyatrodur.
Kavramlar
ClusterIP varsayılandır: yalnız küme içinden ulaşılan sabit sanal IP, her düğümde kube-proxy kurallarıyla desteklenir. Küme içi her şeyde bunu kullan. NodePort aynı Servisi bulut yük dengeleyicisiz dışarı açar: laboratuvara olur, üretime kabadır. LoadBalancer (destekleyen bulutlarda) harici dengeleyici kurar, Servisi besler: üretim ön kapısıdır. ExternalName vekillik yerine dış DNS adının takma adıdır: uç nokta yok, yalnızca CNAME.
Uç noktalar üyelik listesidir. kubectl get endpoints <ad> hazır pod adreslerini gösterir; Uç Nokta Dilimleri aynı veriyi büyük filolara böler. Sağlıklı görünen Serviste boş uç nokta seçicinin hiçbir poda uymadığı demektir: Servis seçiciyi pod etiketleriyle harf harf karşılaştır. Başsız Servis (clusterIP: None) sanal IP atlar, DNS üzerinden doğrudan pod adresleri döndürür; durumlu istemciler ve servis keşfi bunu ister.
Uygulamalı örnek
Tek deployment, küme içi artı hata ayıklama erişimi, her adımda makbuz:
kubectl create deployment web --image=nginx --replicas=3
kubectl expose deployment web --port=80 # ClusterIP
kubectl get svc web # CLUSTER-IP dolu, HARİCİ-IP <yok>
kubectl get endpoints web # üç hazır adres
# yalnız laboratuvar dış erişimi, her düğümde 30080. port
kubectl expose deployment web --port=80 --type=NodePort --name=web-debug
kubectl get svc web-debug # PORTLAR 80:30080/TCP
curl http://<herhangi-dugum-ip>:30080/ # nginx karşılama sayfasıÜç adresli uç nokta iç yolun kanıtıdır; düğüm portuna curl dış yolun. Uç noktalar boşsa başka hiçbir şeye dokunmadan seçiciyi düzelt.
Sınav notları
NodePort aralığı 30000 ile 32767 arasındadır: dışındaki port reddedilir ve sorular bu sınıra bayılır. Metal çıplak LoadBalancer MetalLB gibisi olmadan Bekliyor kalır: Bekliyor orada ne demek bil. Ve ExternalName tasarım gereği uç noktasızdır; boş uç nokta listesi doğru, bozuk değil.
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ı üç yoldan aç (ClusterIP, NodePort, başsız) ve her birinin uç nokta çıktısını kaydet. Sonra bir pod etiketini değiştirip boz; uyumsuzluğu gösteren uç nokta artı olay çıktısını aynen göster.
Geçme kriterleri
Üç tip de doğru beklentiyle kurulmuş; uç nokta çıktıları kayıtlı; bozuk durumda seçici uyumsuzluğu kanıt çıktıyla adlandırılmış.