From 0ff904ceb69374a6e1347f243555f058c31a1de4 Mon Sep 17 00:00:00 2001 From: Repinoid Date: Wed, 15 Jul 2026 18:34:43 +0400 Subject: [PATCH] cluster dump 2026-07-15: ingress, kube-vip, drhider state --- TMP/cluster-dump-2026-07-15.md | 158 +++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 TMP/cluster-dump-2026-07-15.md diff --git a/TMP/cluster-dump-2026-07-15.md b/TMP/cluster-dump-2026-07-15.md new file mode 100644 index 0000000..d28cd7f --- /dev/null +++ b/TMP/cluster-dump-2026-07-15.md @@ -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.