当前位置: 首页 > news >正文

5分钟了解k8s pod通信原理--图文篇

k8s 里的pod 互相访问,从实现原理上来说无非有2种。一种是同节点的pod访问,一个是跨节点的pod的访问,这个实现细节经常会在面试环节问到,相信大多人知其然不知其所以然,本文就用图解下相关原理。

环境信息:

  • 节点 A   物理 IP:192.168.1.10,Pod 1(IP:10.244.1.1,属于子网 10.244.1.0/24),Pod 2(IP:10.244.1.2,属于子网 10.244.1.0/24);
  • 节点 B    物理 IP:192.168.1.11,Pod 3(IP:10.244.2.3,属于子网 10.244.2.0/24)。

一、k8s 网络模型

1.1 k8s集群网络模型示意图

k8s的网络模型可以抽象为三层底层是物理网卡和物理网络(大二层居多),中间层是借助CNI插件实现的数据转发和处理层,最上层是容器网络接口。

容器IP地址的规划和分配,通常是由网络插件(Flannel和Calico)负责的。本篇假设地址段为10.244.0.0/16。Node节点的IP地址和路由,通常是数据中心DHCP服务器和三层路由器负责的。

用来分配给pod的子网信息、路由条目(Calico)一般会存放在哪呢?

Flannel和Calico都会把它们存储在k8s控制面的etcd数据库中,这个数据库本来是分布式的,不需要额外部署。它们可以通过集群的ApiServer去访问。


1.2 Flannel和Calico的核心组件对比

Flannel 和 Calico 是 k8s 中最常用的两种 CNI 插件,用于实现 Pod 间的网络通信,但两者在设计理念、核心组件和实现原理上有显著差异。

Flannel 设计理念偏向 “简单易用”,组件轻量化;Calico 则追求 “高性能与强功能”,组件更复杂,支持网络策略等高级特性。

1.3 K8s 中实现原理对比

两者均遵循 K8s“每个 Pod 独立 IP、直接通信” 的网络模型,但在网络拓扑跨节点通信网络策略等核心功能的实现上差异显著。

下面是两者网络模型与 IP 分配的区别:

        1.Flannel:

  • 采用 “集中式子网分配”:集群初始化时,Flannel 会划分一个大的集群网段(如 10.244.0.0/16),由 flanneld 为每个节点分配一个子网(如节点 1 分配 10.244.1.0/24,节点 2 分配 10.244.2.0/24)。
  • Pod IP 从所在节点的子网中分配,由容器运行时(如 containerd)通过 CNI 接口调用 Flannel 插件完成。
  • <
http://www.dtcms.com/a/465870.html

相关文章:

  • 静态网页素材泉州seo优化排名公司
  • 建设银行网站上改手机东莞市常平东部中心医院
  • MySQL索引优化实战从慢查询到高性能的蜕变之路
  • Java中的Hook机制
  • MATLAB实现FCM和KFCM聚类算法
  • 讲述做网站的电影网站圣诞问候特效
  • 想在拼购网站做产品罗湖网站开发
  • 贝叶斯结合LSTM用于市场预测,准确性达新高度!
  • 老题新解|大整数减法
  • 品牌网官网查询外贸网站建设平台优化营销推广
  • 上海微信网站建设山东做网站建设的好公司排名
  • 记录一次巧妙的SQL:一对多关联导致的 sum () 、count()等group函数重复计算问题
  • 3.3 Function Calling实战
  • 无锡企业网站制作策划深圳海洋网络做网站
  • Maven 自动化部署
  • 阿里云做网站教程辽宁做网站找谁
  • Flutter中新手需要掌握的几种Widget
  • 分类算法-逻辑回归
  • MySQL Redo Log 和 Undo Log 满了会有什么问题
  • 从崩溃到稳定:如何用<limits>头文件解决C++数值处理的核心痛点?
  • 自定义tabs+索引列表,支持左右滑动切换
  • 建设网站的必要与可行性制作企业网站需要注意的事项
  • MySQL查询优化实战从慢查询到高性能的索引重构策略
  • 官方网站建设报价wordpress 在线咨询
  • 从零实现JSON与图片文件上传功能
  • 第五部分:VTK高级功能模块(第140章 Accelerators模块 - 加速器支持类)
  • 头条站长平台电商网站开发实训软件
  • 库卡机械臂的转角系统以及固定轴和欧拉角的计算方式
  • 机器学习高级-Chapter 04-概率论与贝叶斯分类
  • 站点搜索编程零基础入门课程