0Pricing
Docker & DevOps Fundamentals · Ders

Ağ Erişimi için Hizmetler

Çeşitli Kubernetes Hizmeti türlerini kullanarak uygulamalarınızı küme içinde ve dışında erişime açın.

Ağ Erişimi için Hizmetler, CoddyKit'te ücretsiz bir Docker & DevOps Fundamentals dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Docker & DevOps Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.

Kubernetes Service Nedir?

Kubernetes'te Pod'lar, dağıtılabilen en küçük birimlerdir. Geçici olacak şekilde tasarlanırlar; yani her an oluşturulabilir, silinebilir veya değiştirilebilirler ve çoğu zaman yeni IP adresleri alırlar.

Bu dinamik yapı, diğer uygulamaların onları güvenilir biçimde bulmasını ve onlarla iletişim kurmasını zorlaştırır. İşte Services bu noktada devreye girer!

Ağ Erişimi için Hizmetler — resim 1

Kararlı Ağ Erişimi Sağlama

Kubernetes Service, bir Pod kümesi için kararlı bir ağ uç noktası görevi görür. Bunu, arkasındaki Pod'lar değişse bile değişmeyen kalıcı bir adres gibi düşünebilirsiniz.

  • Services, tutarlı bir IP adresi ve DNS adı sağlar.
  • Trafiği birden fazla Pod arasında yük dengelemesi yaparak dağıtabilirler.
  • Pod'lar ölçeklendiğinde veya yeniden başlatıldığında sürekli kullanılabilirlik sağlarlar.

Pod'ları Services'e Bağlama

Bir Service, trafiği hangi Pod'lara yönlendireceğini nasıl bilir? Etiketleri ve seçicileri kullanır.

Pod'lar oluşturduğunuzda onlara app: my-app gibi anahtar-değer çiftlerinden oluşan etiketler atarsınız. Ardından bir Service, bu etiketlerle eşleşen bir seçici belirleyerek dinamik bir bağlantı oluşturur.

ClusterIP ile İç Erişim

ClusterIP, varsayılan ve en yaygın Service türüdür. Kubernetes kümesi içinde kararlı bir dahili IP adresi atar. Bu IP'ye yalnızca kümenin içindeki diğer Pod'lardan veya Node'lardan erişilebilir.

Yalnızca uygulamanızdaki diğer hizmetlerle iletişim kurması gereken arka uç hizmetleri (veritabanı veya API gibi) için idealdir.

ClusterIP Service Tanımlama

Aşağıda basit bir ClusterIP Service YAML tanımı yer alıyor. selector alanının app: my-backend etiketiyle eşleştiğine ve port alanının targetPort alanına nasıl eşlendiğine dikkat edin.

apiVersion: v1
kind: Service
metadata:
  name: my-backend-service
spec:
  selector:
    app: my-backend
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080 # Port your application listens on
  type: ClusterIP

NodePort ile Dış Erişim

NodePort Service, uygulamanızı her Node'un IP adresinde statik bir bağlantı noktasında erişime açar. Böylece hizmetinize, herhangi bir Node'un IP adresi ve belirtilen bağlantı noktası kullanılarak küme dışından erişilebilir.

nodePort değeri genellikle 30000-32767 aralığındadır. Basit dış erişim veya geliştirme ortamları için kullanışlıdır.

NodePort Service Tanımlama

Hizmetinizi NodePort üzerinden dışarıya açmak için type: NodePort ayarlarsınız. İsteğe bağlı olarak bir nodePort belirleyebilir veya Kubernetes'in sizin için bir tane seçmesini sağlayabilirsiniz.

apiVersion: v1
kind: Service
metadata:
  name: my-frontend-service
spec:
  selector:
    app: my-frontend
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80 # Port your application listens on
      nodePort: 30080 # Optional: specific port on the Node
  type: NodePort

Bulut Yük Dengeleyicileri

LoadBalancer Service türü bulut ortamları için tasarlanmıştır. Bu türde bir Service oluşturduğunuzda bulut sağlayıcınız (AWS, GCP, Azure gibi) otomatik olarak harici bir yük dengeleyici oluşturur.

Bu yük dengeleyici herkese açık bir IP adresi alır ve dış trafiği doğrudan Pod'larınıza yönlendirir; çoğu zaman SSL sonlandırma gibi gelişmiş özellikler de sunar.

LoadBalancer Service Tanımlama

Herkese açık uygulamalar barındıran bulut Kubernetes kümeleri için LoadBalancer en uygun seçenektir. Dış erişim yönetimini büyük ölçüde kolaylaştırır.

apiVersion: v1
kind: Service
metadata:
  name: my-web-app-lb
spec:
  selector:
    app: my-web-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

Doğru Service'i Seçme

Ekibiniz Kubernetes'e yeni bir uygulama dağıtıyor. Aşağıdaki senaryoları değerlendirin:

  • Küme içindeki diğer hizmetler tarafından erişilmesi gereken bir arka uç API'si.
  • İnternetten erişilebilir olması gereken ve bir bulut sağlayıcısına (AWS, GCP, Azure) dağıtılan bir ön yüz web sunucusu.

Ön yüz web sunucusu için hangi Service türü en uygundur?

Özet: Ağ Erişimi için Services

Kubernetes Services yapısının dinamik Pod'lara kararlı ağ erişimi sağladığını öğrendik. Uygulamalarınızın güvenilir biçimde iletişim kurması için gereklidirler.

  • ClusterIP: Yalnızca küme içi iletişim için.
  • NodePort: Her Node'un IP adresinde bir hizmeti statik bir bağlantı noktasında erişime açar; belirli kullanım durumlarında dışarıdan erişilebilir.
  • LoadBalancer: Herkese açık erişim için harici bir yük dengeleyici oluşturmak üzere bulut sağlayıcılarıyla bütünleşir.

Doğru Service türünü seçmek, uygulamalarınızın nasıl erişime açılacağını denetlemek için kritik öneme sahiptir.

Sıkça Sorulan Sorular

“Ağ Erişimi için Hizmetler” dersi ücretsiz mi?

Evet — “Ağ Erişimi için Hizmetler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Docker & DevOps Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.

“Ağ Erişimi için Hizmetler” dersinde ne öğreneceğim?

Çeşitli Kubernetes Hizmeti türlerini kullanarak uygulamalarınızı küme içinde ve dışında erişime açın. Docker & DevOps Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Docker & DevOps Fundamentals öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Docker & DevOps Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Ağ Erişimi için Hizmetler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Docker & DevOps Fundamentals dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Docker & DevOps Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Durumsuz Uygulamalar için Dağıtımlar
  2. Ağ Erişimi için Hizmetler
  3. ConfigMaps ve Gizli Bilgiler
  4. Ingress ve Harici Yönlendirme
← Docker & DevOps Fundamentals Sayfasına Dön