Sobes.tech
Junior

Bir podda bir neçə konteyner ola bilərmi?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, ola bilər. Bu, Kubernetes-də ümumi praktidir.

Bir poddakı bir neçə konteyner adətən resursları (saxlama sahəsi, şəbəkə yığını) paylaşır və çox vaxt əsas tətbiq konteynerinin yanında köməkçi vəzifələr üçün istifadə olunur (Sidecar nümunəsi).

İstifadə nümunələri:

  • Sidecar konteynerləri: Monitorinq, qeydiyyat, xidmət şəbəkəsi proxy-si (məsələn, Envoy).
  • Ambassador konteynerləri: Xarici xidmətlərə giriş üçün proxy.
  • Adapter konteynerləri: Köməkçi proseslərin çıxışını normallaşdırmaq.

Poddakı konteynerlər həmişə eyni nodda planlaşdırılır və IPC (proseslərarası əlaqə) üçün eyni namespace-dən istifadə edir, bu da onların qarşılıqlı əlaqəsini təmin edir.

İki konteynerli pod üçün nümunə manifest (əsas nginx tətbiqi və qeyd üçün sidecar konteyneri):

// apiVersion - Kubernetes API versiyası
apiVersion: v1
// kind - obyekt növü (bu halda Pod)
kind: Pod
// metadata - pod-un metadata-sı (ad, etiketlər  s.)
metadata:
  name: multi-container-pod
spec:
  // containers - pod içindəki konteynerlərin siyahısı
  containers:
    // Birinci konteyner - əsas tətbiq (nginx)
    - name: main-app
      image: nginx:latest
      ports:
        // port 80-ni 
        - containerPort: 80
    // İkinci konteyner - qeyd üçün sidecar (fiktiv nümunə)
    - name: log-sidecar
      image: busybox:latest
      args:
        // qeyd etməyi simulyasiya etmək üçün sonsuz dövr
        - /bin/sh
        - -c
        - while true; do echo "Logging from sidecar..."; sleep 5; done