当前位置: 首页 > news >正文

pod的内部结构

我们知道Pod 是 K8s 能够创建、管理和部署的最小计算单元。由一个或多个紧密耦合的容器组成,它们之间共享网络、存储等资源以及如何运行这些容器的声明。pod中的容器会一起启动或停止。 但是Pod 的内部结构是怎样的呢?

很多人第一次接触 Pod,会下意识把它当成“一个容器”。但真跑起来你就会发现:Pod 更像一个容器的组合外壳——外面看是一个整体,里面其实分了好几层:有个“打地基”的基础设施容器,有主业务容器,还有可能挂着 sidecar 这种“跟班容器”,再加上它们共同使用的网络和存储。说白了,Pod 更像一套合租房:人(容器)可以换,但房子的一些公共资源是共享的。

为什么一定要有 Pause(Infra)容器?

Pod 里最容易被忽略、但又最关键的角色,就是 Pause/Infra 容器。它不负责跑业务,反而像“房产证持有人”:把 Pod 的网络命名空间牢牢占住。那问题来了:为啥非得搞这么个“看起来没用”的东西?因为业务容器可能崩溃、可能重启,难道每次一重启 Pod 的 IP 和网络状态也跟着洗牌吗?有了 Pause,网络这块就稳定了——容器重启只是在同一个“网络房间”里重新入住而已。

虽然有了pause可以共享网络,但是同一个 IP、同一个 localhost,也更容易“撞车”

同一个 Pod 里的容器,网络层面就是“一家人”:整个 Pod 只有一个 IP,容器之间甚至可以直接用localhost:端口通信,像本机进程互相调用一样省事。可共享的东西总要付点代价——既然都用一个 IP,那如果两个容器都想监听 8080 端口怎么办?没得商量,端口冲突就是硬约束。

一个pod中通常把同一个 Volume 当“公共储物间”来用,共享存储。

Pod 里的 Volume,可以被多个容器同时挂载。最典型的画面就是:一个容器负责产生日志(写入某个目录),另一个容器负责把这些日志读走并转发。你可以把 Volume 理解成合租房的“公共储物间”:谁都能进,谁都能用,前提是你们确实要一起生活、一起承担后果。

pod中的应用容器多数时候一个就够,多容器通常是 Sidecar 在“打辅助”

现实里最常见的还是单容器 Pod:一个业务一个 Pod,简单直接。那多容器 Pod 什么时候用?通常是 Sidecar 模式——主容器跑业务,sidecar 做日志收集、监控、代理之类的“辅助活”,像给摩托车挂个斗:不改变主车用途,但能把配套能力带上。

元数据是Pod 的“身份证”,靠它才能被 Service/Deployment 找到

Pod 不光要能跑,还得能被“识别”和“管理”。Name、Namespace 这些是基础,而更常用的是 Labels:Service、Deployment 等资源就是靠标签去“筛人”的;另外还有 Annotations,更像备注信息,通常不拿来做选择匹配,但很适合塞一些构建信息、说明信息。你可以理解为:Labels 是“门牌号+分组标签”,Annotations 是“贴在门上的便签”。

那么K8s 为啥要发明 Pod,而不是直接管容器呢?

归根结底,Pod 是给那些“必须黏在一起”的进程准备的:它们要共享网络、共享存储、生命周期还要一致,那就别硬拆成两个独立容器到处调度了。Pod 还相当于给容器套了一个统一的“外壳”,让 K8s 可以用同一套方式去调度和管理,而不必纠结底层到底是 Docker 还是 containerd。

总结:Pod 可以当成一台“逻辑主机”来看——有稳定的网络身份、有共享的存储空间、也有一堆容器住在里面各司其职。

http://www.jsqmd.com/news/346917/

相关文章:

  • 你能谈一下JVM的主要组成部分吗?
  • 力扣hot100 - 101、对称二叉树
  • CF1061F Lost Root 题解 / 随机化 交互
  • spacedesk网络设置副屏 windows 不需要himi
  • 双桅杆起重机非线性建模与控制-EXP-整形控制-起重机
  • 力扣hot100 - 108、将有序数组转换为二叉搜索树
  • 【组合意义】ARC212C ABS Ball
  • iTerm2 的清屏命令
  • 2026国内最新最新电解电容企业top5推荐!广东广州等地优质电子配套服务商权威榜单发布,资质服务双优助力产业高效发展 - 品牌推荐2026
  • 基于深度学习的肺音分类算法研究
  • 道路场景行人检测及逆行行为识别研究-大数据深度学习算法毕设毕业设计项目PyQT
  • 2026年蓝海:珊瑚礁AI监测开发实战——软件测试从业者的机遇指南
  • Rancher 使用手册详解
  • 车辆换道LM-FVDM模型仿真数据可视化系统(LM-FVDM)-大数据深度学习算法毕设毕业设计项目pyqt
  • 2026年软件测试:驯化AI比优化算法更重要的深层解析
  • 2.5 期末游记
  • 别急着修 Bug——从《第一个错误的版本》聊算法里的工程直觉
  • 终极清单:2026年最值钱的太空软件认证
  • 如何通过AI销冠系统提升数字员工的销售效能?
  • 团体程序设计天梯赛-练习集 L2-036 网红点打卡攻略
  • 从BUG追踪到碳汇追踪:软件测试人转型蓝碳经济的3大黄金入口
  • 离线畅用,无网也能识别,良心到爆!
  • 【强化学习】动态规划算法 - 实践
  • 工作熟练后,你的核心竞争力从不是代码本身:很多人第一反应是“捂紧源码”,但这其实是最无效的自保方式:需要输出你 懂坑、懂优化、懂业务适配,或许你要跳出现在舒适区,找到更有价值的事
  • 互联网大厂Java面试:从分布式架构到安全技术核心解析
  • Python Elasticsearch 客户端使用详解
  • 当代码遇见宇宙射线:测试工程师必知的太空防护革命
  • Nicheformer 基础模型
  • 完整教程:仓颉语言 LinkedList 链表实现深度解析
  • 同花顺 app 设置技巧