From b7075dd8bff3a99e4d390e0382915c0ba3d7e09a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 13 Jul 2026 10:33:30 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20KUBEVIP-EXTERNAL-TRAFFIC-POLICY=20?= =?UTF-8?q?=E2=80=94=20ingress=20replicas=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md | 60 ++++++++++++++++ site/templates/index.html | 92 ------------------------- 2 files changed, 60 insertions(+), 92 deletions(-) create mode 100644 docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md delete mode 100644 site/templates/index.html diff --git a/docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md b/docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md new file mode 100644 index 0000000..770dc7b --- /dev/null +++ b/docs/KUBEVIP-EXTERNAL-TRAFFIC-POLICY.md @@ -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 | diff --git a/site/templates/index.html b/site/templates/index.html deleted file mode 100644 index 2846504..0000000 --- a/site/templates/index.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - DrHider — обфускация документов - - - -
- DrHider - v{{ version }} -
-
-
-
Обфускация документов
-
-
- - - - - - - - - - - - -
ИмяРазмерСтатус
Нет выбранных файлов
-
- -
-
-
- -