cluster dump 2026-07-15: ingress, kube-vip, drhider state
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,158 @@
|
|||||||
|
# Cluster Dump — 2026-07-15 17:00 MSK
|
||||||
|
|
||||||
|
## 1. НОДЫ (4 шт)
|
||||||
|
|
||||||
|
| Нода | Роль | Taints |
|
||||||
|
|------|------|--------|
|
||||||
|
| iot-naeel-control-plane-xb699 | control-plane | `NoSchedule:control-plane` |
|
||||||
|
| iot-naeel-workers-vqphm-6f74n | workers | нет |
|
||||||
|
| iot-naeel-workers-vqphm-bhbvs | workers | нет |
|
||||||
|
| iot-naeel-workers-vqphm-v8zq4 | workers | нет |
|
||||||
|
|
||||||
|
## 2. INGRESS (shturval-ingress-controller)
|
||||||
|
|
||||||
|
### Поды (2 реплики)
|
||||||
|
|
||||||
|
| Под | Нода | Возраст |
|
||||||
|
|-----|------|---------|
|
||||||
|
| ...86jsp | control-plane-xb699 | ~6ч |
|
||||||
|
| ...jm4kl | workers-vqphm-v8zq4 | ~6ч |
|
||||||
|
|
||||||
|
### Сервис
|
||||||
|
- Тип: LoadBalancer
|
||||||
|
- External IP: 185.247.187.151
|
||||||
|
- `externalTrafficPolicy: Cluster`
|
||||||
|
- NodePorts: 80:30739, 443:32391
|
||||||
|
|
||||||
|
### Ingress ConfigMap
|
||||||
|
|
||||||
|
| Параметр | Значение |
|
||||||
|
|----------|----------|
|
||||||
|
| keep-alive | **10** |
|
||||||
|
| client-body-timeout | **10** |
|
||||||
|
| client-header-timeout | **10** |
|
||||||
|
| proxy-body-size | **8m** |
|
||||||
|
| upstream-keepalive-connections | **0** |
|
||||||
|
| use-http2 | false |
|
||||||
|
| worker-processes | 4 |
|
||||||
|
| error-log-level | info |
|
||||||
|
|
||||||
|
### Helm
|
||||||
|
- Chart: shturval-ingress-controller-2.12.1
|
||||||
|
- Ревизия 9 (сегодня 11:53) — `replicaCount: 2`, hostPort enabled
|
||||||
|
- Ревизия 8 (сегодня 02:00) — то же самое
|
||||||
|
- Более старых ревизий нет (почищены)
|
||||||
|
|
||||||
|
### Affinity (ingress deploy)
|
||||||
|
```yaml
|
||||||
|
preferredDuringScheduling:
|
||||||
|
- weight: 10 → избегать control-plane
|
||||||
|
- weight: 80 → предпочитать node-role: ingress
|
||||||
|
- weight: 50 → предпочитать node-role: infra
|
||||||
|
```
|
||||||
|
|
||||||
|
### События (каждые 51 сек!)
|
||||||
|
```
|
||||||
|
Warning SyncLoadBalancerFailed failed to ensure load balancer: no address pools could be found
|
||||||
|
Normal EnsuringLoadBalancer Ensuring load balancer
|
||||||
|
```
|
||||||
|
|
||||||
|
## 3. KUBE-VIP
|
||||||
|
|
||||||
|
### DaemonSet: shturval-vip (4 пода, на ВСЕХ 4 нодах)
|
||||||
|
- Image: r.shturval.tech/kube-vip:v1.0.0
|
||||||
|
- ARP mode: `vip_arp: true`
|
||||||
|
- Election: `svc_election: true`
|
||||||
|
- Leaderelection: `vip_leaderelection: false`
|
||||||
|
- Lease: `sht-uservip-cp-lock`
|
||||||
|
|
||||||
|
### Cloud Provider: shturval-vip-provider (1 под, на bhbvs)
|
||||||
|
- Image: r.shturval.tech/kubevip/kube-vip-cloud-provider:v0.0.12
|
||||||
|
- Ищет ConfigMap: `kubevip` в неймспейсе `kube-system`
|
||||||
|
|
||||||
|
### ❌ ConfigMap `kubevip` в `kube-system` — **ПУСТОЙ!**
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: kubevip
|
||||||
|
namespace: kube-system
|
||||||
|
data: {} # <-- НЕТ ДАННЫХ
|
||||||
|
```
|
||||||
|
|
||||||
|
**Это причина ошибки «no address pools could be found»!**
|
||||||
|
|
||||||
|
## 4. DRHIDER (pythonk8s)
|
||||||
|
|
||||||
|
### Деплой
|
||||||
|
- 1 реплика
|
||||||
|
- Ревизия: 49
|
||||||
|
- Инит-контейнер: клонирует из Git, потом pip install + python app.py
|
||||||
|
- Ресурсы: 500m CPU, 1Gi RAM
|
||||||
|
- Проба: TCP :5000
|
||||||
|
|
||||||
|
### ❌ PodAffinity (добавлен сегодня 16:46, непрошеный)
|
||||||
|
```yaml
|
||||||
|
requiredDuringScheduling:
|
||||||
|
podAffinity → ingress pod на той же ноде
|
||||||
|
```
|
||||||
|
|
||||||
|
### Сервис
|
||||||
|
- ClusterIP: 10.102.171.63
|
||||||
|
- Port 80 → targetPort 5000
|
||||||
|
- `internalTrafficPolicy: Cluster`
|
||||||
|
|
||||||
|
### Ingress (drhider)
|
||||||
|
- Host: drhider.pythonk8s.dev.nubes.ru
|
||||||
|
- Аннотации: proxy-body-size=1024m, connect=120s, read/send=600s
|
||||||
|
- TLS: letsencrypt-prod
|
||||||
|
|
||||||
|
### Поды
|
||||||
|
| Под | Нода | Возраст |
|
||||||
|
|-----|------|---------|
|
||||||
|
| pythonk8s-6698c6c78-dkwsq | workers-vqphm-v8zq4 | ~15 мин |
|
||||||
|
|
||||||
|
Drhider на одной ноде с ingress-подом jm4kl.
|
||||||
|
|
||||||
|
## 5. ВСЕ INGRESS-РЕСУРСЫ
|
||||||
|
|
||||||
|
| Хост | Неймспейс | Возраст |
|
||||||
|
|------|-----------|---------|
|
||||||
|
| drhider.pythonk8s.dev.nubes.ru | 20a75175-... | 4д |
|
||||||
|
| loadtest.pythonk8s.dev.nubes.ru | 9039a501-... | 5д |
|
||||||
|
| contractor.pythonk8s.dev.nubes.ru | b4523aba-... | 7ч |
|
||||||
|
| capire.kube5s.ru | default | 54д |
|
||||||
|
| grafana.kube5s.ru | grafana | 66д |
|
||||||
|
| keycloak.k8c.ru | keycloak | 96д |
|
||||||
|
| qu.kube5s.ru | shared-sqs | 93д |
|
||||||
|
| iot.kube5s.ru | sless | 94д |
|
||||||
|
| terra.k8c.ru | terra | 92д |
|
||||||
|
|
||||||
|
## 6. CILIUM
|
||||||
|
|
||||||
|
4 пода (по одному на ноду), все Running. MTU был изменён на 1400 (по STATE).
|
||||||
|
|
||||||
|
## 7. КЛЮЧЕВЫЕ НАХОДКИ
|
||||||
|
|
||||||
|
### 🔴 ConfigMap `kubevip` пустой
|
||||||
|
kube-vip-cloud-provider не может найти address pools → каждые 51 сек ошибка SyncLoadBalancerFailed. При этом `185.247.187.151` работает через ARP-mode kube-vip DaemonSet (не через cloud provider). Вероятно, это не fatal, но указывает на недонастроенную интеграцию.
|
||||||
|
|
||||||
|
### 🔴 Ingress ConfigMap отличается от ожидаемого
|
||||||
|
- keep-alive: 10 (должен быть 75)
|
||||||
|
- client-body-timeout: 10 (должен быть 60)
|
||||||
|
- client-header-timeout: 10 (должен быть 30)
|
||||||
|
- proxy-body-size: 8m (должен быть 1024m)
|
||||||
|
|
||||||
|
Но для drhider это переопределено в аннотациях ingress-ресурса.
|
||||||
|
|
||||||
|
### 🟡 Ingress 2 реплики на 4 нодах с kube-vip
|
||||||
|
kube-vip анонсирует 185.247.187.151 на ВСЕХ 4 нодах, но ingress-поды только на 2. При `externalTrafficPolicy: Cluster` трафик на ноды без ingress: SNAT → кросс-нода → риск conntrack RST.
|
||||||
|
|
||||||
|
### 🟡 Helm: 2 апгрейда сегодня
|
||||||
|
Ревизии 8 (02:00) и 9 (11:53) сегодня. Кто-то обновлял ingress. `replicaCount: 2` в обеих.
|
||||||
|
|
||||||
|
### 🟢 Аннотации drhider ingress — хорошие
|
||||||
|
proxy-body-size=1024m, connect=120s, read/send=600s. Переопределяют дефолты ConfigMap.
|
||||||
|
|
||||||
|
### 🟢 Cilium — стабильный
|
||||||
|
4 пода, все Running, MTU 1400.
|
||||||
Reference in New Issue
Block a user