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

可以看到后端pod的ip

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

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

验证pod 172.16.128.187在对应主机10.66.193.5

三.网络插件选择
K8s网络插件cni组件对比

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

kube-proxy 三种模式对比


浙公网安备 33010602011771号