Junior
Bir podda birden fazla konteyner olabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Evet, olabilir. Bu, Kubernetes'te yaygın bir uygulamadır.
Bir pod içindeki birkaç konteyner genellikle kaynakları (depolama alanı, ağ yığını) paylaşır ve genellikle ana uygulama konteynerinin yanında yardımcı görevler için kullanılır (Sidecar deseni).
Kullanım örnekleri:
- Sidecar konteynerleri: İzleme, günlük kaydı, hizmet ağı proxy'si (örneğin Envoy).
- Elçi konteynerleri: Dış hizmetlere erişim için proxy.
- Adaptör konteynerleri: Yardımcı süreçlerin çıktısını normalize etme.
Pod içindeki konteynerler her zaman aynı düğüme planlanır ve IPC (ara işlem iletişimi) için aynı namespace'i kullanır, bu da birbirleriyle etkileşim kurmalarını sağlar.
İki konteynerli bir pod manifest örneği (ana uygulama nginx ve günlük kaydı için sidecar konteyneri):
// apiVersion - Kubernetes API sürümü
apiVersion: v1
// kind - nesne türü (bu durumda Pod)
kind: Pod
// metadata - pod'un metadata'sı (isim, etiketler vb.)
metadata:
name: multi-container-pod
spec:
// containers - pod içindeki konteynerlerin listesi
containers:
// Birinci konteyner - ana uygulama (nginx)
- name: main-app
image: nginx:latest
ports:
// 80 numaralı portu aç
- containerPort: 80
// İkinci konteyner - günlük kaydı için sidecar (örnek)
- name: log-sidecar
image: busybox:latest
args:
// günlük kaydı simüle etmek için sonsuz döngü
- /bin/sh
- -c
- while true; do echo "Logging from sidecar..."; sleep 5; done