Ana içeriğe geç

Pod

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/kubernetes-pod

Kısaca

Pod, Kubernetes'te dağıtılabilen en küçük birimdir: ağ adresini ve depolamayı paylaşan, tek bir node'da birlikte zamanlanan bir ya da daha çok konteynerdir.

Kubernetes'te pod nedir?

Kubernetes'te konteynerleri doğrudan çalıştırmazsınız; pod'ları çalıştırırsınız. Pod, aynı makinede (node) her zaman birlikte çalışan ve aynı ağ kimliğini ve depolama birimlerini paylaşan bir ya da daha fazla konteyneri sarmalar. Çoğu pod tek bir uygulama konteyneri içerir ve Kubernetes pod'ları temel zamanlama birimi olarak oluşturur, taşır ve siler.

Bir pod'daki tüm konteynerler tek bir IP adresini ve port alanını paylaşır; bu yüzden birbirleriyle localhost üzerinden konuşabilir ve dosya paylaşmak için aynı birimleri bağlayabilir. Bu, pod'ları bir log gönderici ya da service mesh proxy'si gibi yardımcı bir konteynerin ana uygulamanın yanında çalıştığı sidecar deseni için uygun kılar. Pod'lar tek kullanımlık olacak şekilde tasarlanmıştır: bir pod çökerse ya da node'u arızalanırsa onarılmaz, yeni bir adı ve IP adresi olan yeni bir pod ile değiştirilir; trafiğin, o anda sağlıklı olan pod'lara yönlendiren sabit bir adres olan Service üzerinden gönderilmesinin nedeni budur.

Uygulamada pod'ları nadiren elle oluşturursunuz. Bir Deployment, StatefulSet veya Job tanımlarsınız ve bu denetleyici bir şablondan doğru sayıda pod'u oluşturur ve sürdürür, başarısız olanları değiştirir ve yeni sürümleri kademeli yayar. Pod, konteynerler için paylaşımlı bir daire gibidir: ev arkadaşları tek bir adresi ve tek bir mutfağı paylaşır ve kira sözleşmesi bittiğinde herkes birlikte taşınır.

Pod sıklıkla konteynerle karıştırılır. Konteyner, kendi imajı olan tek bir paketlenmiş süreçtir; pod ise bir ya da daha fazla konteynerin etrafındaki Kubernetes sarmalayıcısıdır ve paylaşılan ağ, depolama ve bir yaşam döngüsü ekler. Pod ayrıca bir node değildir: node sanal ya da fiziksel makinedir ve bir node genellikle birçok pod çalıştırır.

Önemli noktalar

  • Pod, Kubernetes'in zamanladığı ve yönettiği en küçük birimdir.
  • Aynı pod'daki konteynerler bir IP adresini, localhost'u ve birimleri paylaşır.
  • Çoğu pod tek konteyner çalıştırır; aynı pod'daki yardımcı konteynerlere sidecar denir.
  • Pod'lar tek kullanımlıktır; başarısız olduklarında onarılmaz, değiştirilir.
  • Deployment gibi denetleyiciler pod'ları oluşturur ve yönetir; Service'ler onlara sabit bir adres verir.

Örnek

Bir uygulama konteyneri ve bir sidecar içeren podyaml
apiVersion: v1
kind: Pod
metadata:
  name: web
  labels:
    app: web
spec:
  containers:
    - name: app              # the main application container
      image: registry.example.com/web:1.4.2
      ports:
        - containerPort: 8080
    - name: log-shipper      # sidecar: same IP address and localhost as the app
      image: registry.example.com/log-shipper:2.0

Sık sorulan sorular

Pod ile konteyner arasındaki fark nedir?

Konteyner, bir imajdan paketlenmiş yalıtılmış tek bir süreçtir. Pod ise bir ya da daha fazla konteyner tutan, onlara paylaşılan bir IP adresi ile depolama veren ve bir node'a tek bir birim olarak zamanlanan bir Kubernetes nesnesidir.

Bir pod'un IP adresi neden değişir?

Pod'lar tek kullanımlıktır; bu yüzden biri değiştirildiğinde yeni pod yeni bir IP adresi alır. Uygulamalar pod'lara sabit bir ad ve adres tutan ve trafiği mevcut sağlıklı pod'lara ileten bir Kubernetes Service üzerinden erişmelidir.

Bir pod'a birden fazla konteyner koymalı mıyım?

Yalnızca sıkı sıkıya bağlı olup aynı node'da birlikte çalışmaları gerekiyorsa, örneğin bir uygulama ve onun loglama ya da proxy sidecar'ı. Bir web uygulaması ve veritabanı gibi ayrı servisler, bağımsız olarak ölçeklenip güncellenebilmeleri için ayrı pod'lara aittir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar