Sidecar Containers (K8s 1.28+ GA) — init containers with restartPolicy: Always.
Problem: Traditional sidecars (Envoy, Fluentd) — containers in Pod, but they do not restart on failure.
Solution — native sidecar:
1apiVersion: v12kind: Pod3metadata:4 name: myapp5spec:6 initContainers:7 - name: envoy-sidecar8 image: envoyproxy/envoy:v1.289 restartPolicy: Always # GA in 1.28+10 ports:11 - containerPort: 1500112 name: inbound13 - containerPort: 1500614 name: outbound15 - name: log-shipper16 image: fluent/fluent-bit:latest17 restartPolicy: Always18 volumeMounts:19 - name: shared-logs20 mountPath: /var/log/app21 containers:22 - name: app23 image: myapp:latest24 volumeMounts:25 - name: shared-logs26 mountPath: /var/log/app27 volumes:28 - name: shared-logs29 emptyDir: {}
Startup order:
Advantages:
Use cases: Envoy proxy, log collectors, config watchers, monitoring agents.