docs: схема провайдерской инкапсуляции + таблица параметров
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
+14
-6
@@ -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 выставил 1500−50)
|
||||
- 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, загрузка файлов идёт без задержки.
|
||||
|
||||
### Почему это безопасно
|
||||
|
||||
|
||||
Reference in New Issue
Block a user