kubernetes--通俗理解Sidecar容器

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发


在Kubernetes(K8s)中,Sidecar(边车) 是一种容器模式(Sidecar Pattern),指的是在 同一个 Pod 内 部署一个或多个 辅助容器(即 Sidecar 容器),来为 主应用容器提供附加功能,如 日志收集、配置同步、代理通信等。

Sidecar 原理详解

1.1 Pod 是调度的基本单位

在 Kubernetes 中,一个 Pod 内可以包含多个容器,这些容器共享:

  1. 网络命名空间(即可通过 localhost 互通)
  2. 存储卷(Volumes)
  3. 生命周期(随 Pod 一起创建、销毁)

Sidecar 就是和主应用容器部署在同一个 Pod 内的“辅助容器”,它通常和主容器 紧密协作,但 职责不同。

1.2 工作机制

Sidecar 容器利用 Pod 内的共享网络与卷,通常以以下方式提供服务:

  1. 在主容器启动前或同时启动
  2. 持续运行,监听主容器状态或输出
  3. 主容器关闭时,Sidecar 也随之终止

通俗例子理解Sidecar

Sidecar 是和主应用一起运行在同一个 Pod 中的“辅助容器”,用来做主应用不方便或不擅长做的事。
就像一辆摩托车边上带的“边车”,边车不会开车,但能帮你装行李、放地图、带个乘客,让你专心骑车。

想象一个开餐馆的主厨(主容器),他专注炒菜做饭(业务逻辑),但还需要有人帮忙干这些事:

  1. 收拾碗筷、打扫卫生(日志收集)
  2. 检查菜单有没有更新(配置监听)
  3. 替客人点单并翻译菜单(流量代理)

这时候,店里配了个助手(Sidecar),和主厨一起在厨房里配合,主厨不用亲自干这些杂活。

技术场景

日志收集 Sidecar

例子1:日志收集 Sidecar

  1. 主容器: Nginx
  2. 作用: 提供网页服务
  3. 问题: Nginx 只写日志文件,不能把日志发送到日志服务器

解决方法: 加一个 Sidecar 容器,它做这件事:

1.每秒读取 Nginx 写的日志文件
2. 发送到外部的日志中心(如 ELK、Promtail)

所以:Sidecar 就像专门负责送日志的人。

配置自动更新 Sidecar

例子2:配置自动更新 Sidecar

  1. 主容器: Java 应用,需要一个配置文件 config.yaml
  2. 问题: 这个配置每隔几分钟会在配置中心更新,主容器不会自动拉取

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值