docs: результаты в тестовом кластере + рекомендации для production
Deploy drhider / validate (push) Waiting to run

This commit is contained in:
2026-07-13 21:06:19 +04:00
parent d94fa3f556
commit cbf7de27d8
+41
View File
@@ -133,3 +133,44 @@ Cilium **DSR + `kubeProxyReplacement`** убирает cross-node SNAT на об
### Итоговый вердикт ### Итоговый вердикт
Путь правильный (фикс корня, а не симптома). Конечное состояние `Cluster + корректный MTU + replicaCount: 2` — чистое и согласованное: убирает разом и ручной scale, и Local-костыль. Путь правильный (фикс корня, а не симптома). Конечное состояние `Cluster + корректный MTU + replicaCount: 2` — чистое и согласованное: убирает разом и ручной scale, и Local-костыль.
---
## Результаты (тестовый кластер `iot-naeel`, 2026-07-13)
Изменение применено на личном кластере где отсутствуют активные production-сервисы.
**До:** `externalTrafficPolicy: Local`, 4 реплики ingress, `ERR_TIMED_OUT` при сбросе реплик, TCP-stall 51с.
**После:** `externalTrafficPolicy: Cluster`, 2 реплики ingress, MTU 1450.
| Метрика | До | После |
|---------|-----|-------|
| F5 (5 запросов) | 50% ERR_TIMED_OUT | 5/5 OK, <250ms |
| Upload 63 KB | пауза 51с | 0.2-0.3s |
| Upload 6×63 KB | нестабильно | все <0.25s |
| Process 6 файлов | ~90s (со stall) | 32.8s |
| Download ZIP | медленно | 0.23s |
| Download CSV | медленно | 0.12s |
Все костыли (`Local`, ручной scale) убраны. Кластер работает на заводских настройках Штурвала + одна цифра в конфиге Cilium.
---
## Рекомендации для production-кластеров
На действующих кластерах с активными сервисами **НЕ рекомендуется** применять `kubectl edit configmap` + `rollout restart ds/cilium` вручную. Причины:
- `rollout restart ds/cilium` перезапускает сетевой слой на **всех** нодах одновременно (rolling update, но всё же)
- eBPF-датаплейн переживает рестарт, но возможны кратковременные блипы
- Ошибка в значении MTU затронет **все** сервисы кластера
- На production требуется окно обслуживания и мониторинг
**Рекомендуемый порядок для production:**
1. Замерить underlay MTU между нодами через `ping -M do`
2. Передать значение провайдеру/девопсу для включения в конфигурацию кластера
3. Применить при плановом обслуживании или при создании новых кластеров
4. Для существующих кластеров — согласовать окно и порядок отката
**Для новых кластеров:** включить `mtu: <измеренное значение>` в конфиг Cilium на этапе развёртывания, до деплоя приложений.