K8s集群网络访问过程和原理

K8s集群网络流量过程

一.原理介绍

外部请求到达 Ingress Controller,Ingress Controller 转发到 Service,Calico 保障跨节点 Pod 通信。简单说就是:流量从ingress漏油到service再到pod

组件

核心作用

网络层级

Pod

最小部署单元,内含一个 / 多个容器,是网络访问的「最终目标」

容器网络层

Calico

容器网络插件(CNI),负责 Pod 网络创建、跨节点 Pod 通信、网络策略(NetworkPolicy)

网络基础设施层

Service

抽象层,为动态的 Pod 提供「固定访问入口」,实现 Pod 负载均衡和服务发现

服务抽象层

Ingress

集群入口控制器,管理七层(HTTP/HTTPS)流量路由,将外部请求转发到后端 Service

集群网关层

二.生产环境验证

查看yunmai-manager的svc

1764148026800_4B5159CF-E8EB-4ba0-9D73-61595BBE3A6A

可以看到后端pod的ip

1764148364795_D661698F-63D5-44b0-B152-EF9A76FB180C

这个过程是kube-proxy组件通过ipvs实现

1764148425464_DEA7F13F-9A7A-419c-9940-F3AB16049AFD

这时流量找到目标pod,通过calico插件实现的隧道转发到对应主机

1764148598941_582EB0E7-6B82-4f6f-B8E6-73F3D2E09EEE

验证pod 172.16.128.187在对应主机10.66.193.5

1764148853627_FB0C4A27-15F6-4c1e-B18B-84A0C8A28852

三.网络插件选择

K8s网络插件cni组件对比

1764147003034_7E9FAEDC-70D9-4008-A579-EA0930F8B16F

Calico 主要支持以下几种网络模式

kube-proxy 三种模式对比

1764147331982_A071E313-026C-49d1-AD66-47935653A4CE

posted @ 2025-12-30 15:16  小蓝莓  阅读(9)  评论(0)    收藏  举报