容器网络

什么是容器网络?

容器网络解决容器之间、Pod之间、服务之间以及集群内外访问的连接问题,覆盖 Docker 网络、DNS、CNI、Kubernetes Service、Ingress、NetworkPolicy 和网络排障。

显示更多

如果你在排查容器访问问题,建议先区分单机Docker网络、Kubernetes Pod网络、Service访问、Ingress入口和网络策略五个层次。

按学习路径系统学习容器技术内容

如果希望从容器网络继续系统学习Kubernetes网络模型、CNI插件、网络策略、入口网关、服务网格和生产排障,可以进入云原生网络学习路径页。

按学习路径系统学习云原生网络内容

  • Docker网络关注本地容器通信和端口映射
  • Kubernetes网络重点理解CNI、Service、Ingress和DNS
  • 生产排障要结合Pod、Service、节点、网络插件和策略
排障建议

容器网络问题不要一开始就怀疑底层CNI,可以先确认服务是否监听、端口是否匹配、Service selector是否选中Pod、Ingress后端是否健康,再继续下钻到DNS、NetworkPolicy和节点网络。

学习路径

了解更多关于容器网络的信息

容器网络主要解决什么问题?

容器网络解决容器如何互相通信、如何被外部访问、如何做服务发现和隔离控制。Docker场景关注bridge、host、overlay和端口映射;Kubernetes场景关注Pod网络、Service、Ingress、DNS和NetworkPolicy。

CNI是什么?

CNI是Kubernetes接入网络插件的标准接口。 Calico、Flannel、Cilium等插件通过CNI为Pod分配网络、配置路由和实现网络策略。理解CNI有助于排查Pod无法通信、跨节点访问失败和网络策略不生效等问题。

Service和Ingress有什么区别?

Service提供集群内部稳定访问入口,解决Pod IP变化问题;Ingress通常负责HTTP/HTTPS入口,把外部请求路由到后端Service。简单说,Service更偏服务发现和负载均衡,Ingress更偏七层入口和域名路由。

NetworkPolicy适合解决什么问题?

NetworkPolicy用于限制Pod之间或Pod与外部之间的访问关系,适合多租户、微服务隔离和安全合规场景。它不是防火墙的全部替代,仍需要结合命名空间、标签规划和网络插件能力使用。

容器网络排障应该按什么顺序?

可以先看应用监听端口和容器日志,再看Pod IP、Service selector、Endpoints、DNS解析、Ingress规则和NetworkPolicy。只有这些都正常时,再继续排查CNI插件、节点路由、iptables/eBPF和底层网络。

Calico、Flannel、Cilium怎么选?

Flannel相对简单,适合基础网络需求;Calico在网络策略和路由能力上成熟;Cilium基于eBPF,适合需要高性能网络、可观测性和更细粒度安全能力的场景。选型要结合团队运维能力和平台目标。