Sobes.tech
Junior

Egy podban több konténer is lehet?

sobes.tech MI

Válasz az MI-től

Igen, lehet. Ez egy általános gyakorlat a Kubernetesben.

Több konténer egy podban általában megosztja az erőforrásokat (tárolóhely, hálózati verem), és gyakran használják segédfeladatok végrehajtására a fő alkalmazáskonténer mellett (Sidecar minta).

Használati példák:

  • Sidecar konténerek: Megfigyelés, naplózás, szolgáltatás háló proxy (pl. Envoy).
  • Nagykövet konténerek: Proxy külső szolgáltatásokhoz való hozzáféréshez.
  • Adapter konténerek: Segédfolyamatok kimenetének normalizálása.

A podban lévő konténerek mindig ugyanazon a csomóponton (Node) vannak ütemezve, és ugyanazt a namespace-t használják IPC (köztes folyamatok közötti kommunikáció) céljából, ami lehetővé teszi, hogy kommunikáljanak egymással.

Példa egy két konténert tartalmazó pod manifestre (fő alkalmazás nginx és naplózó sidecar konténer):

// apiVersion - Kubernetes API verzió
apiVersion: v1
// kind - objektumtípus (ebben az esetben Pod)
kind: Pod
// metadata - a pod metaadatai (név, címkék stb.)
metadata:
  name: multi-container-pod
spec:
  // containers - a podon belüli konténerek listája
  containers:
    // Első konténer -  alkalmazás (nginx)
    - name: main-app
      image: nginx:latest
      ports:
        // nyissa meg a 80-as portot
        - containerPort: 80
    // Második konténer - naplózó sidecar (fiktív példa)
    - name: log-sidecar
      image: busybox:latest
      args:
        // végtelen ciklus a naplózás szimulálására
        - /bin/sh
        - -c
        - while true; do echo "Logging from sidecar..."; sleep 5; done