docs: схема провайдерской инкапсуляции + таблица параметров
Deploy drhider / validate (push) Waiting to run

This commit is contained in:
2026-07-13 21:53:15 +04:00
parent ec9107cff4
commit 82b5cb4402
+14 -6
View File
@@ -86,14 +86,22 @@ kubectl patch svc -n ingress shturval-ingress-controller-controller \
### Почему 1450
Физический интерфейс ноды (`eth0`) докладывает MTU **1500** — стандартное значение. Однако эмпирически установлено:
Физический интерфейс ноды (`eth0`) показывает MTU **1500** — стандартное значение, выставленное провайдером. Однако между физическими серверами провайдер добавляет собственную инкапсуляцию (VXLAN/GRE, ~50 байт overhead), поэтому реальный path MTU = **1450**.
- `ping -M do -s 1422` из пода → «Message too large» (pod MTU = 1450, Cilium выставил 150050)
- ICMP с DF-флагом между нодами блокируется файрволлом → прямой замер невозможен
- Фикс `mtu: 1450` в cilium-config устранил TCP stall — загрузка файлов идёт без 51-секундной паузы
- Возврат на заводское `mtu: 1500` воспроизводит проблему
```
Ваша VM Сеть провайдера Другая VM
eth0: 1500 ──── [VXLAN/GRE +50 overhead] ──── eth0: 1500
реальный path MTU = 1450
```
**Вывод:** узкое место — в сетевом пути между нодами (инфраструктура провайдера), а не на интерфейсе ноды. Точное значение underlay MTU определено experimentally через работающий фикс.
| Параметр | Значение | Почему |
|---------|----------|--------|
| `eth0` (видит VM) | 1500 | Провайдер выставил интерфейс |
| Реальный path MTU | **1450** | Провайдер добавляет инкапсуляцию |
| `cilium-config mtu:` | **1450** | Сообщить Cilium реальный path |
| Pod/tunnel MTU | 1400 | Cilium вычитает 50 на Geneve |
Подтверждено: фикс устранил stall, загрузка файлов идёт без задержки.
### Почему это безопасно