cluster cleanup 2026-06-01: remove fission, sless, fix metrics-server

This commit is contained in:
2026-06-01 17:17:43 +03:00
parent 94fb12b99d
commit 07528b0de3
2 changed files with 128 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
# Чистка кластеров — 01.06.2026
## Кластер: iot-naeel (5.172.178.213)
### Удалено
| Группа | Штук | Причина |
|---|---|---|
| `fission-test-*` | 27 | Тестовые Fission namespace-ы с подами. Жрали ~24 CPU limits |
| `fission-*` (с хешами) | 40 | Остатки Fission environment-ов. Сначала удалились, потом воссоздались через CRD — потребовалось удалить CRD `environments.fission.io` |
| `bench-func-*` | 6 | Пустые bench namespace-ы |
| `testns` | 1 | Пустой тестовый namespace |
| `fission` (ядро, helm) | 1 | `helm uninstall fission -n fission` |
| `fission-functions` | 1 | Пустой |
| CRD Fission | 8 | `canaryconfigs, environments, functions, httptriggers, kuberneteswatchtriggers, messagequeuetriggers, packages, timetriggers` |
### Итого удалено: ~84 namespace-а + 8 CRD
### Ресурсы после чистки
| Нода | CPU req | CPU limits | MEM limits |
|---|---|---|---|
| `6f74n` | 19% | 97% | 36% |
| `sc8p5` | 19% | 115% | 39% |
| `v8zq4` | 20% | 126% | 55% |
**Свободно: ~19 ядер, ~41 Gi памяти**
---
## Кластер: naeel-test-3 (185.247.187.146)
### Удалено
| Группа | Штук | Причина |
|---|---|---|
| `sless-fn-cmp-op-*` | 20 | Пустые namespace-ы, 52 дня |
| `sless-fn-test001` | 1 | SQS test, воссоздавался через `queueservice.sqs.kube5s.ru` CRD — удалили CRD `test-tenant-001` |
| `sless-fn-test002` | 1 | Пустой |
| `sless-16367aacb67a4a01` | 1 | Пустой |
| `sless-fn-timing-ts` | 1 | SQS timing. Удалён CRD `test-tenant-timing-ts` + namespace |
| `sless` | 1 | IoT платформа (Kafka OOMKilled, 100 рестартов) |
| `shared-sqs` | 1 | SQS consumer |
| `sqs-operator-system` | 1 | SQS оператор |
| `1dbfe9da-...` | 1 | RabbitMQ managed |
### Починено: metrics-server
Проблема: 0/1 Ready 70 дней. Три бага платформы shturval:
1. **TLS**: kubelet-сертификаты без IP SANs → `--kubelet-insecure-tls`
2. **readOnlyRootFilesystem**: не может создать `/apiserver.local.config``--cert-dir=/tmp` + `volumeMount: /tmp`
3. **runAsNonRoot 1000**: порт 443 недоступен → `--secure-port=4443` + пробы HTTP:4443 + сервис `targetPort: 4443`
Итоговый deployment metrics-server:
```yaml
args:
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP
- --cert-dir=/tmp
- --secure-port=4443
volumeMounts:
- mountPath: /tmp
name: tmp-dir
volumes:
- name: tmp-dir
emptyDir: {}
readinessProbe:
httpGet:
path: /readyz
port: 4443
scheme: HTTP
livenessProbe:
httpGet:
path: /livez
port: 4443
scheme: HTTP
```
Service `metrics-server`:
```yaml
ports:
- port: 443
targetPort: 4443
```
### Lucee
- Задеплоен в namespace `3d7657ee-...` → 1/1 Ready
- Домен: `lucee-mfysayo333` (ошибка была `lucee-mysayo333`)
- Платформа: `naeel-test-3`
- git: `https://github.com/xahys/testlucee`
- jsonEnv: оставлен пустым (формат KEY=VALUE, не JSON)
### Ресурсы после чистки (worker-ноды, 12 ядер total)
| Нода | CPU req | MEM req |
|---|---|---|
| `vxzch` | 6% | 7% |
| `wwqj2` | 30% | 25% |
| `zxnb4` | 37% | 29% |
---
## Важные уроки
1. **Fission**: Недостаточно `kubectl delete ns` — нужно сначала удалить CRD `environments`, иначе poolmgr воссоздаст namespace
2. **SQS operator**: Недостаточно удалить namespace — нужно удалить CRD `queueservice` в `sqs-operator-system`
3. **Удаление с finalizer**: Зависшие Terminating форсировать через `kubectl replace --raw /api/v1/namespaces/$ns/finalize`
4. **metrics-server от shturval**: Имеет три бага из коробки, несовместим с security policy платформы