36. Kubernetes 网络原理——CNI 网络插件

本章讲解知识点

    1. Flannel 原理概述
    1. 直接路由的原理和部署示例
    1. Calico 插件原理概述


1. Flannel 原理概述

Flannel 是一个用于容器网络的开源解决方案,它使用了虚拟网络接口技术(如 VXLAN)和 etcd 存储来提供网络服务。它的原理概述如下:

  1. Flannel 协助 Kubernetes,给每一个 Node 上的 Dockers 容器都分配互不冲突的 IP 地址。
  2. 它能在这些 IP 之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。

在这里插入图片描述

那么一条网络报文是怎么从一个容器发送到另外一个容器的呢?

  1. 容器直接使用目标容器的 ip 访问,默认通过容器内部的 eth0 发送出去。报文通过 veth pair 被发送到 vethXXX。
  2. vethXXX 是直接连接到虚拟交换机 docker0 的,报文通过虚拟 bridge docker0 发送出去。
  3. 查找路由表,外部容器 ip 的报文都会转发到 flannel0 虚拟网卡,这是一个 P2P 的虚拟网卡,然后报文就被转发到监听在另一端的 flanneld。
  4. flanneld

猜你喜欢

转载自blog.csdn.net/qq_32468785/article/details/130538738