K8s的网络

K8s的网络

      • [1. 节点网络(Node Network)](#1. 节点网络(Node Network))
      • [2. Pod网络(Pod Network)](#2. Pod网络(Pod Network))
      • [3. 服务网络(Service Network)](#3. 服务网络(Service Network))
      • [4. 外部网络(External Network)](#4. 外部网络(External Network))
      • 网络分层流量示例
      • 关键总结

K8s有几层网络呢?

Kubernetes(K8s)的网络模型可以分为 四层,每一层解决不同的网络通信需求。以下是详细的分层说明:


1. 节点网络(Node Network)

  • 作用:物理或虚拟主机(节点)之间的底层网络通信。
  • 实现:依赖底层基础设施(如云厂商VPC、物理交换机、Flannel的Host-GW等)。
  • 关键点 :
    • 确保所有节点(Master和Worker)能通过IP相互通信。
    • 通常是宿主机网络(如eth0网卡)。

2. Pod网络(Pod Network)

  • 作用 :实现同一集群内Pod-to-Pod的直接通信(无论Pod是否在同一节点)。
  • 核心要求 :
    • 每个Pod拥有唯一IP(IP-per-Pod模型)。
    • Pod IP跨节点互通(无需NAT)。
  • 常见实现 :
    • Overlay网络(如Flannel/VXLAN、Calico/IPIP):通过隧道封装跨节点流量。
    • Underlay网络(如Calico/BGP、MetalLB):直接利用底层网络路由。
    • CNI插件:负责Pod网络的配置(如分配IP、设置路由等)。

3. 服务网络(Service Network)

  • 作用:通过虚拟IP(VIP)和负载均衡暴露一组Pod,实现服务发现和稳定访问。
  • 核心组件 :
    • Service:通过kube-proxy维护的iptables/IPVS规则将VIP流量转发到后端Pod。
    • DNS (CoreDNS):为Service提供集群内域名解析(如my-svc.default.svc.cluster.local)。
  • 类型 :
    • ClusterIP(默认)、NodePort、LoadBalancer等。

4. 外部网络(External Network)

  • 作用:将集群内服务暴露到外部(如公网或企业内网)。
  • 实现方式 :
    • Ingress:基于HTTP/HTTPS的路由(如Nginx Ingress Controller)。
    • LoadBalancer:云厂商提供的负载均衡器(如AWS ALB)。
    • ExternalIP或NodePort:直接通过节点IP和端口访问。

网络分层流量示例

  1. 外部用户 → Ingress(外部网络)
  2. Ingress → Service(服务网络)
  3. Service → Pod(Pod网络)
  4. Pod → 另一节点上的Pod(经过节点网络)。

关键总结

层级 通信实体 典型技术
节点网络 节点之间 VPC、BGP、物理交换机
Pod网络 Pod-to-Pod Flannel、Calico、Cilium
服务网络 Service-to-Pod kube-proxy、CoreDNS
外部网络 外部到集群 Ingress、LoadBalancer
相关推荐
寻林写彡1 小时前
01| 裸机部署 K8S:从零搭建生产可用集群
云原生·kubernetes
rest10241 小时前
用io_uring进行io测试
网络
恒拓高科WorkPlus1 小时前
企业怎样选择IM即时通讯平台?私有化部署还是SaaS更适合?
网络·github
修船大队长2 小时前
配置接受报文每个报文对应一个mailbox配置流程记录
网络·单片机·mcu
一遍再一遍3 小时前
【LTE Attach流程】
网络
星夜夏空993 小时前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php
枫叶丹44 小时前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex
恒拓高科WorkPlus4 小时前
制造企业出现生产异常后,如何通过IM快速通知责任人?
网络·制造
熊文豪6 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
网络·网络协议·ssl