This commit is contained in:
+12
-1
@@ -12,7 +12,18 @@
|
||||
|
||||
### Причина (технически)
|
||||
|
||||
Кластер использует Cilium CNI с Geneve-туннелем между нодами. Geneve добавляет 50 байт к каждому пакету. При underlay MTU = 1450 (подтверждено замером) пакет с Geneve-заголовком не влазит → роутер не может фрагментировать (ICMP заблокирован) → TCP ждёт таймаут 51 секунду.
|
||||
- Cilium соединяет ноды через **Geneve-туннель**
|
||||
- Geneve добавляет к каждому пакету **+50 байт** заголовков (Ethernet 14 + IP 20 + UDP 8 + Geneve 8)
|
||||
- Cilium ожидает что underlay (физический канал между нодами) = **1500 байт**
|
||||
- Cilium считает: **1500 − 50 = 1450** — такой MTU назначает туннелю и подам
|
||||
- Реальный underlay (измерен `ping -M do`): **1450 байт**, а не 1500
|
||||
- Пакет из пода = **1450 байт**
|
||||
- Пакет + Geneve-заголовок = **1450 + 50 = 1500 байт**
|
||||
- Реальный канал = **1450 байт** → пакет **1500 не влазит**
|
||||
- Роутер пытается отправить ICMP «fragmentation needed», но ICMP заблокирован
|
||||
- Отправитель не знает что пакет не дошёл, ждёт подтверждения
|
||||
- TCP включает exponential backoff: **1с → 3с → 7с → 15с → 25с = 51 секунда**
|
||||
- Через 51 секунду соединение разрывается → `ERR_TIMED_OUT`
|
||||
|
||||
### Почему не всегда
|
||||
|
||||
|
||||
Reference in New Issue
Block a user