docs: Mermaid-диаграмма вместо ASCII
Deploy drhider / validate (push) Waiting to run

This commit is contained in:
2026-07-13 21:21:19 +04:00
parent 3df63df0b0
commit 7ed1f5d650
+29 -18
View File
@@ -14,27 +14,38 @@
*Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.* *Cilium — сетевая подсистема Kubernetes, отвечает за связь между подами на разных нодах. Geneve — протокол туннелирования, который Cilium использует чтобы «обернуть» обычный сетевой пакет для передачи через физическую сеть между серверами.*
``` ```mermaid
ПОД А ПОД Б block-beta
┌──────────┐ ┌──────────┐ columns 1
│ packet │ │ packet │
│ 1450 B │ │ 1450 B │
└────┬─────┘ └────┬─────┘
│ │
┌────▼─────┐ ┌────▼─────┐
│ Geneve │ ──── underlay ────► │ Geneve │
│ +50 B │ реальный 1450 │ +50 B │
└────┬─────┘ └────┬─────┘
│ │
┌────▼─────┐ ┌────▼─────┐
│ 1500 B │ ✗ не влазит в 1450 │ 1500 B │
└──────────┘ └──────────┘
Ожидание Cilium: underlay = 1500 block:pods
Реальность: underlay = 1450 ← провайдер дал меньше columns 2
Разница в 50 байт → пакет не проходит → TCP stall 51с a["Под А\nпакет 1450 B"]
b["Под Б\nпакет 1450 B"]
end
space
block:tunnel
columns 2
g1["Geneve +50 B\n= 1500 B"]
g2["Geneve +50 B\n= 1500 B"]
end
a --> g1
b --> g2
g1 -- "underlay 1450 ✗" --> g2
style a fill:#e8f5e9
style b fill:#e8f5e9
style g1 fill:#ffebee
style g2 fill:#ffebee
``` ```
> Ожидание Cilium: underlay = **1500**
> Реальность: underlay = **1450** ← провайдер дал меньше
> Разница **50 байт** → пакет не влазит → TCP stall **51 секунда**
- Cilium соединяет ноды через **Geneve-туннель** - Cilium соединяет ноды через **Geneve-туннель**
- Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8) - Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)
- Cilium ожидает что underlay (физический канал между нодами) = **1500 байт** - Cilium ожидает что underlay (физический канал между нодами) = **1500 байт**