容器网络笔记

1. 涉及到的虚拟网络设备

  • bridge:网桥,可以理解为交换机。不同于传统的二层硬件交换机,bridge 可以配置 IP、具有三层能力,可作为端点 、网关。
  • veth:虚拟以太网设备,总是成对创建(故也称为 veth pair),可以理解为虚拟的网线。是以太网设备形式的数据管道,从一端发送的数据会立刻出现在另一端,支持跨 namespace 。作为表面上的虚拟网卡,自然可以配置 IP,不过本质上还是网线的角色,不具备三层能力。

在容器网络场景下,二者是完美的搭档,通常结合起来使用:

  • 宿主机 namespace 创建网桥,分配私网 IP 地址作为网关,支撑所有容器的对外网络访问;
  • 每个容器都分别创建一对 veth pair,一端连接在宿主网桥,另一端作为容器 namespace 内的默认以太网设备。

2. K8s CNI 网络标准:

实现整个 K8s 集群中所有 Pod 的通信。分两个层级:

  • 同一 Node 的多个 Pod 之间的通信:依靠宿主机的 bridge & veth pair 实现二层转发
  • 不同 Node 间的 Pod 通信:使用宿主机的三层能力进行主机间通信

CNI 插件:实现 CNI 标准的软件,主要的任务就是创建各种虚拟网络设备并配置路由。接入 CRI runtime 并被其调用,所以是“插件”。

3. Flannel

最知名的 CNI 插件之一,设计思想简明直接。其网络模型为所有容器使用同一个 network,每个 node 分配一个子网。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇