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. IngressService(服务网络)
  3. ServicePod(Pod网络)
  4. Pod另一节点上的Pod(经过节点网络)。

关键总结

层级 通信实体 典型技术
节点网络 节点之间 VPC、BGP、物理交换机
Pod网络 Pod-to-Pod Flannel、Calico、Cilium
服务网络 Service-to-Pod kube-proxy、CoreDNS
外部网络 外部到集群 Ingress、LoadBalancer
相关推荐
hrw_embedded12 分钟前
基于CH395Q网卡移植ftplib的FTP客户端
网络·stm32·ftp·linux库
不是起点的终点17 分钟前
内网穿透(FRP)
网络
Blurpath住宅代理19 分钟前
动态代理的五大优点:提升爬虫效率与安全性
网络·爬虫·动态ip·住宅ip·住宅代理
XHW___00126 分钟前
webrtc 关键模块创建的时机
网络·音视频·webrtc
Trouvaille ~27 分钟前
【Linux】UDP Socket编程实战(二):网络字典与回调设计
linux·运维·服务器·网络·c++·udp·操作系统
凉、介34 分钟前
静态路由探究
网络·笔记·操作系统·嵌入式
逐步前行35 分钟前
STM32_内部结构
网络·stm32·嵌入式硬件
kimi7041 小时前
可靠数据传输原理
网络
迎仔1 小时前
04-网络安全基础:数字世界的防盗门与守卫
网络·安全·web安全
使者大牙1 小时前
【单点知识】CANopen实用协议介绍
服务器·网络·tcp/ip