欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 网络核心 - CNI、Service 与 Ingress/Gateway API 解析

网络核心 - CNI、Service 与 Ingress/Gateway API 解析

2025/6/21 22:27:41 来源:https://blog.csdn.net/weixin_42587823/article/details/148785827  浏览:    关键词:网络核心 - CNI、Service 与 Ingress/Gateway API 解析

网络核心 - CNI、Service 与 Ingress/Gateway API 解析


Kubernetes 的强大之处在于它极大地简化了容器化应用的部署和管理,但其网络模型的灵活性和复杂性也常常让初学者感到困惑。作为 SRE,我们需要拨开迷雾,理解流量在 K8s 集群内部以及进出集群时,到底是如何流转的。

Pod 网络基础:谁给 Pod 分配 IP?(CNI)

我们知道,在 K8s 中,每个 Pod 都拥有自己唯一的 IP 地址。这是实现“一个 Pod一个 IP”模型的关键,它简化了应用的网络配置(应用可以直接监听自己的端口,无需担心端口冲突)。但这个 IP 地址是谁分配的?Pod 之间的网络是如何打通的?

答案是 CNI (Container Network Interface) 插件。

  • CNI 是什么? 它不是一个具体的软件,而是一套接口规范(由 CNCF 维护)。它定义了容器运行时(如 Docker, containerd)与网络插件之间的标准交互方式,用于配置容器(Pod)的网络。Kubernetes 本身不负责具体的 Pod 网络实现,而是委托给符合 CNI 规范的网络插件来完成。
  • CNI 插件如何工作(简化流程)
    1. 当一个 Pod 被调度到某个 Node 上时,该 Node 上的 kubelet 进程会调用配置好的 CNI 插件。
    2. CNI 插件负责为这个 Pod 分配一个 IP 地址(通常从该 Node 分到的一个 Pod CIDR 网段中获取)。
    3. 插件会在 Node 上创建必要的网络设备(例如,一对 veth 设备,一端连接 Pod 的网络命名空间,另一端连接 Node 的根网络命名空间),并配置相应的 IP 地址、路由规则、网桥等,从而将 Pod 连接到集群网络中。
    4. 不同的 CNI 插件使用不同的技术来实现 Pod 间的通信(可能是 Overlay

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词