docs: KUBEVIP-EXTERNAL-TRAFFIC-POLICY — ingress replicas fix
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user