From 9ea3c2991a55303027f48f8b54bd0cc90af0d931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 13 Jul 2026 21:15:48 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D1=80=D0=B8=D1=87=D0=B8=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B0=D1=81=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=88=D0=B0=D0=B3=D0=B0=D0=BC=20=D1=81=20?= =?UTF-8?q?=D0=B6=D0=B8=D1=80=D0=BD=D1=8B=D0=BC=D0=B8=20=D1=87=D0=B8=D1=81?= =?UTF-8?q?=D0=BB=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROBLEM-AND-SOLUTION.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/PROBLEM-AND-SOLUTION.md b/PROBLEM-AND-SOLUTION.md index 30c707b..5f8b64b 100644 --- a/PROBLEM-AND-SOLUTION.md +++ b/PROBLEM-AND-SOLUTION.md @@ -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` ### Почему не всегда