k8s 中 pod 是如何做到网络共享的

k8s 中 pod 是如何做到网络共享的

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

在k8s中,pod是编排的最小单位,容器之间可以共享网络。网络共享的原理是将多个容器加入到同一个network namespace中。k8s选择了第二种方式来共享网络,通过pause容器来实现。pause容器的作用是进入睡眠状态,使得容器能够持续运行而不消耗系统资源。通过pause容器来共享网络的方式是在CRI层实现的。

🎯

关键要点

  • 在k8s中,pod是编排的最小单位,容器之间能够共享hostname和network等内容。
  • 共享网络的原理是将多个容器加入到同一个network namespace中。
  • k8s选择通过pause容器来实现网络共享,pause容器在启动后进入睡眠状态,不消耗系统资源。
  • k8s的网络共享方式是将后续容器加入到一个预先启动的默认pause容器的网络中。
  • pause容器的特点包括体积小、不占用资源和稳定性。
  • pause容器的主要功能是保持容器持续运行而不消耗系统资源,其镜像大小约为742KB。
  • 通过pause容器共享网络的方式是在CRI层实现的,不同的容器实现者可能有不同的实现方式。
➡️

继续阅读