0Pricing
Kubernetes Basics · Ders

Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)

Yan kapsayıcılar gibi birden fazla birlikte konumlandırılmış kapsayıcıyı tek bir Pod içinde çalıştırma kalıplarını keşfedin.

Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar), CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 3. 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, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.

Tek Bir Kapsayıcının Ötesinde

Şimdiye kadar Pod'ları tek bir kapsayıcı çalıştıran yapılar olarak düşündük. Peki uygulamanızın yardımcı bir sürece ihtiyacı varsa ne olacak?

Kubernetes, bir Pod'un birden çok kapsayıcı çalıştırmasına izin verir. Bu kapsayıcılar her zaman aynı konuma yerleştirilir ve kaynakları paylaşır.

Birden Çok Kapsayıcılı Pod'lar Neden Kullanılır?

Bir Pod içinde birden çok kapsayıcı çalıştırmak, birbirine sıkı biçimde bağlı olan ve aşağıdakileri paylaşması gereken uygulamalar için idealdir:

  • Ağ ad alanı (aynı IP adresi; localhost üzerinden iletişim kurabilirler)
  • Depolama birimleri
  • Yaşam döngüsü (birlikte başlar, durur ve yeniden başlarlar)

Bu, ilişkili süreçler için tek bir yönetim birimi sağlar.

Sidecar Kalıbının Açıklaması

Yaygın bir tasarım Sidecar Kalıbıdır. Bu kalıpta bir "sidecar" kapsayıcısı, ana uygulama kapsayıcınızın yanında çalışır.

Ana uygulamanın kendisini değiştirmeden işlevselliğini genişletir veya geliştirir. Bunu yardımcı bir yol arkadaşı gibi düşünebilirsiniz!

Sidecar Kullanım Alanları

Sidecar'lar son derece çok yönlüdür. Yaygın kullanım alanları şunlardır:

  • Günlük Toplama: Bir sidecar, ana uygulamadan günlükleri toplar ve bunları merkezi bir günlük hizmetine gönderir.
  • Vekil Sunucu: Bir sidecar, güvenlik (mTLS) veya trafik yönetimi gibi amaçlarla ağ vekilliği sağlar.
  • Dosya Eşitleme: Bir sidecar, paylaşılan bir birimi yapılandırma veya verilerle güncel tutar.

İki Kapsayıcılı Pod (YAML)

Bir Pod'un YAML bildiriminde birden çok kapsayıcının nasıl tanımlandığına bakalım. Her kapsayıcı, containers dizisinin bir öğesidir.

spec.containers altında tanımlanan nginx-proxy ve main-app kapsayıcılarına dikkat edin.

apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  containers:
  - name: nginx-proxy
    image: nginx:latest
    ports:
    - containerPort: 80
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "echo 'Hello from main app!' && sleep 3600"]

Paylaşılan Depolama: emptyDir

Aynı Pod içindeki kapsayıcılar, Kubernetes birimlerini kullanarak verileri paylaşabilir. Bunu yapmanın basit bir yolu emptyDir birimi kullanmaktır.

emptyDir birimi, bir Pod bir düğüme atandığında oluşturulur ve Pod o düğümde çalıştığı sürece varlığını sürdürür. Bu, geçici bir depolamadır.

Örnek: Günlük Toplayan Sidecar

Bir dosyaya günlükler yazan ana bir uygulama düşünün. Bir sidecar daha sonra bu günlük dosyasını okuyup bir günlük hizmetine gönderebilir.

Bu, günlük tutma mantığını ana uygulamanızdan ayırarak uygulamanın temiz ve odaklanmış kalmasını sağlar.

Günlük Toplayıcı YAML (1. Bölüm)

Günlük toplayıcı örneğimiz için YAML aşağıdadır. log-volume adlı bir emptyDir birimi tanımlıyoruz. Her iki kapsayıcı da bu birimi bağlayacaktır.

main-app kapsayıcısı, paylaşılan birimin içindeki /var/log/app.log konumuna bir günlük iletisi yazar.

apiVersion: v1
kind: Pod
metadata:
  name: log-collector-pod
spec:
  volumes:
  - name: log-volume
    emptyDir: {}
  containers:
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "while true; do echo $(date) 'Main app log entry' >> /var/log/app.log; sleep 1; done"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log

Günlük Toplayıcı YAML (2. Bölüm)

Şimdi log-sidecar kapsayıcısı aynı log-volume birimini bağlar. Ardından ana uygulama tarafından yazılan günlük dosyasını sürekli okumak için tail -f kullanır.

Gerçek bir senaryoda bu sidecar, günlükleri işler ve Elasticsearch veya Splunk gibi bir günlük sistemine gönderir.

apiVersion: v1
kind: Pod
metadata:
  name: log-collector-pod # Same Pod as before
spec:
  volumes:
  - name: log-volume
    emptyDir: {}
  containers:
  - name: main-app
    image: busybox:latest
    command: ["sh", "-c", "while true; do echo $(date) 'Main app log entry' >> /var/log/app.log; sleep 1; done"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log
  - name: log-sidecar
    image: busybox:latest
    command: ["sh", "-c", "tail -f /var/log/app.log"]
    volumeMounts:
    - name: log-volume
      mountPath: /var/log

Kısa Denetim: Sidecar'ın Avantajları

Özellikle sidecar kalıbını kullanan çok kapsayıcılı Pod'lar, karmaşık uygulamaları yönetmek için çeşitli avantajlar sunar.

Sidecar kapsayıcısı kullanmanın temel avantajları hangileridir?

Özet: Çok Kapsayıcılı Pod'lar

Harika iş! Çok kapsayıcılı Pod'ları ve güçlü sidecar kalıbını öğrendiniz.

  • Pod'lar, ağı ve depolamayı paylaşan birden çok kapsayıcı barındırabilir.
  • Sidecar kalıbı, ana uygulamanın işlevselliğini genişletmeye veya geliştirmeye yardımcı olur.
  • Yaygın kullanım alanları arasında günlük toplama, vekil sunucular ve veri eşitleme bulunur.
  • emptyDir birimleri, bir Pod içinde geçici paylaşılan depolama sağlar.

Bu kalıp, Kubernetes'te sağlam ve modüler uygulamalar oluşturmak için kritik öneme sahiptir!

Sıkça Sorulan Sorular

“Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)” dersi ücretsiz mi?

Evet — “Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)” 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 Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.

“Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)” dersinde ne öğreneceğim?

Yan kapsayıcılar gibi birden fazla birlikte konumlandırılmış kapsayıcıyı tek bir Pod içinde çalıştırma kalıplarını keşfedin. Kubernetes Basics 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.

Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, 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 3. dersidir.

“Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)” 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 Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kubernetes Basics 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. Pod'lar: En Küçük Birim
  2. Pod Yaşam Döngüsü ve Durumları
  3. Çok Kapsayıcılı Pod'lar (Yan Kapsayıcılar)
  4. Başlatma Konteynerleri ve Başlangıç Sıralaması
← Kubernetes Basics Sayfasına Dön