Files
loadtest/History/2026-07-10-combined-fix.md
2026-07-10 23:46:28 +04:00

38 lines
1.2 KiB
Markdown

# 2026-07-10 — Комбинированный фикс
## Два корня
1. kube-vip ARP без лидера → флаппинг между 4 нодами при каждом новом TCP
2. Werkzeug всегда `Connection: close` → новый TCP на каждый запрос
По отдельности не чинят. Вместе должны.
## План
### 1. kube-vip: vip_leaderelection=true
```bash
kubectl set env ds/shturval-vip -n kube-vip vip_leaderelection=true
```
### 2. Flask: Gunicorn + gevent
```python
# app.py
if __name__ == '__main__':
import gunicorn.app.base
class StandaloneApp(gunicorn.app.base.BaseApplication):
def __init__(self, app, options=None):
self.application = app; self.options = options or {}
super().__init__()
def load_config(self):
for k, v in self.options.items(): self.cfg.set(k, v)
def load(self): return self.application
StandaloneApp(app, {
'bind': '0.0.0.0:5000', 'workers': 2,
'worker_class': 'gevent', 'timeout': 120, 'keepalive': 75,
}).run()
```
### 3. requirements.txt
flask, gunicorn, gevent
### 4. ingress
proxy_request_buffering: off (уже)