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