Kubernetes的网络基础
kubernetes网络模型
Kubernetes集群上会存在三个分别用于节点、Pod和Service的网络
- 于worker上完成交汇
- 由节点内核中的路由模块,以及iptables/netfilter和ipvs等完成网络间的流量转发
Kubernetes网络模型(2)
节点网络
- 集群节点间的通信网络,并负责打通与集群外部端点间的通信
- 网络及各节点地址需要于Kubernetes部署前完成配置,非由Kubernetes管理,因而,需要由管理员手动进行,或借助于主机虚拟化管理程序进行
Pod网络
- 为集群上的Pod对象提供的网络
- 虚拟网络,需要经由CNI网络插件实现,例如Flannel、Calico、Cilium等
Service网络
- 在部署Kubernetes集群时指定,各Service对象使用的地址将从该网络中分配
- Service对象的IP地址存在于其相关的iptables或ipvs规则中
- Service他能以serviceip对外发布,或者Service端口对外发布
- 由Kubernetes集群自行管理
Kubernetes集群中的通信流量
Kubernetes网络中主要存在4种类型的通信流量
- 同一Pod内的容器间通信
- Pod间的通信
- Pod与Service间的通信
- 集群外部流量与Service间的通信
Pod网络需要借助于第三方兼容CNI规范的网络插件完成,这些插件需要满足以下功能要求
-
所有Pod间均可不经NAT机制而直接通信
-
所有节点均可不经NAT机制直接与所有Pod通信
-
所有Pod对象都位于同一平面网络中
————————————————版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程