首页/云/云与容器速查/Sidecar 多容器与共享
Kubernetes68 条

Sidecar 多容器与共享

同一个 Pod 里放辅助容器(日志转发、代理、配置渲染):共享网络与卷,生命周期同进退;K8s 1.29+ 支持原生 sidecar(initContainer 且 restartPolicy: Always)。

云与容器速查云更新于 2026-10-12
共享内容网络命名空间(localhost 互访)、卷、生命周期
典型用途日志收集、服务网格代理、配置热更新器
原生 sidecarinitContainers 里 restartPolicy: Always:独立生命周期、先于主容器启动
进程管理普通 sidecar 与主容器同启同停,无顺序保证

Sidecar 示例

Sidecar 示例
spec:
  containers:
    - name: app
      image: registry.example.com/team/app:1.2.3
      volumeMounts:
        - { name: logs, mountPath: /var/log/app }
    - name: log-tailer
      image: busybox:1.36
      command: ["sh", "-c", "tail -F /var/log/app/app.log"]
      volumeMounts:
        - { name: logs, mountPath: /var/log/app }
  volumes:
    - name: logs
      emptyDir: {}
多容器 Pod 里端口是共享资源:sidecar 监听端口前先确认与主容器不冲突。

易错点

  • sidecar 崩溃也算 Pod 故障:资源与探针要按正式容器对待
  • 用 sidecar 跑有状态存储:Pod 重建数据即丢,不该放临时容器的别放

数据来源与参考

  • Kubernetes Docs:Sidecar Containers
  • Kubernetes Docs:Pods

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌