一文带你理解云原生( 九 )


一文带你理解云原生
本文插图
Ingress Controller:定义入流量规则 , 可做七层 HTTP 负载君合 。
Egress Controller:定义出流量规则 。
交互流程:通过与 Kubernetes API 交互 , 动态感知集群 Ingress 规则 , 按照自定义的规则生成(负载均衡器)配置文件 , 并通过 reload 来重新加载 。
一文带你理解云原生
本文插图
3.3.2 Underlay 与 Overlay 网络
一文带你理解云原生
本文插图
Underlay 网络模式:底层承载网络 , 是网络通信的基础 。
优势:复用基建 , 网络扁平 , 性能优势;
劣势:协作复杂 , 安全问题 , 管理成本 。
很多场景下业务方希望容器、物理机和虚拟机可以在同一个扁平面中直接通过 IP 进行通信 , 通过 Floating-IP 网络实现 。
Floating-IP 模式将宿主机网络同一网段的 IP 直接配置到容器中 。
这种模式为了保证容器与宿主机的交换机二层连通 , 需要在物理机上搭一个虚拟网桥 。 具体选择哪种网桥 , 主流有:Linux bridge、MacVlan、SRIOV 三种模式 。
BridgeBridge:设备内核最早实现的网桥 , 性能与 OVS 相当 , 可以使用到所有场景;
MacVlan:一个简化版的 bridge 设备 , 为了隔离需要内核 , 实现时不允许 MacVlan 容器访问其宿主机 IP 和 ServiceCluster IP;
SR-IOV技术:一种基于硬件的虚拟化解决方案 , 可提高性能和可伸缩性;
SR-IOV 标准允许在虚拟机之间高效共享 PCIe(快速外设组件互连)设备 , 并且它是在硬件中实现的 , 可以获得能够与本机性能媲美的 I/O 性能 。
一文带你理解云原生
本文插图
Overlay 网络:是一种建立在另一网络之上的计算机网络 。
优势:独立自治 , 快速扩展 , 网络策略;
劣势:复杂层级 , 性能损失 , 定制成本 。
一文带你理解云原生
本文插图
Kubernetes 相当于云原生的操作系统 。
有人会问 , 凭什么云原生的操作系统这杆大旗?
主要原因是:Kubernetes 解决了一个分布式操作系统最核心的计算、存储、网络三种资源 。
CNI 容器网络统一标准:
CNCF 项目 , 为 Linux 容器提供配置网络接口的标准和以该标准扩展插件提供基础函数库;
CNI 命令行调用规范 , 其插件在主机上直接切换进入容器网络命名空间 , 为容器创建网络设备 , 配置 IP , 路由信息 。
CNI 规范内容:
输入:ADD/DEL 控制指令 , CNI 目录 , 容器 ID , 网络命名空间 , 网卡名称 。