Files
drhider/docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md
T
2026-07-13 10:33:30 +04:00

61 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kube-vip + externalTrafficPolicy: Local + ingress replicas
**Дата:** 2026-07-13
**Кластер:** iot-naeel
**Сервис:** `ingress/shturval-ingress-controller-controller`
---
## Проблема
`externalTrafficPolicy: Local` на ingress-сервисе + 2 ingress-пода на 4 нодах.
Kube-vip раздаёт VIP (`185.247.187.151`) на **все 4 ноды** через ARP.
С `Local` трафик, пришедший на ноду БЕЗ ingress-пода — **дропается**.
Результат: 50% запросов → `ERR_TIMED_OUT`.
## Почему не было раньше
Раньше стоял `externalTrafficPolicy: Cluster` — kube-vip форвардил трафик
на любую ноду с ingress через Geneve-туннель. F5 работал, но при передаче
**больших файлов** возникал TCP stall на 51 секунду (cross-node Geneve).
## Хронология
1. `Cluster` → всё работало, но большие файлы висли на 51с
2. `Cluster``Local` — файлы перестали виснуть, но F5 стал дропаться
3. `kubectl scale --replicas=4` — обе проблемы решены
## Текущее состояние (исправлено вручную)
```bash
kubectl scale deploy -n ingress shturval-ingress-controller-controller --replicas=4
```
| Под | Нода |
|-----|------|
| `j4z6z` | iot-naeel-control-plane-xb699 |
| `q8v8g` | iot-naeel-workers-vqphm-6f74n |
| `hs4wf` | iot-naeel-workers-vqphm-bhbvs |
| `dc5kv` | iot-naeel-workers-vqphm-v8zq4 |
## Результат
10 последовательных запросов: 10/10 HTTP 200, 130-250ms.
## Что нужно от девопса
1. Перевести ingress на **DaemonSet** — автоматически по поду на ноду
2. Или `replicas = max(2, количество нод)` — автоскейлинг при добавлении нод
3. При передеплое Штурвала `replicas` не должен сбрасываться на 2
## Ноды (4)
| Нода | Тип |
|------|-----|
| iot-naeel-control-plane-xb699 | control-plane |
| iot-naeel-workers-vqphm-6f74n | workers |
| iot-naeel-workers-vqphm-bhbvs | workers |
| iot-naeel-workers-vqphm-v8zq4 | workers |