diff --git a/docs/cluster-cleanup-2026-06-01.md b/docs/cluster-cleanup-2026-06-01.md new file mode 100644 index 0000000..d36e550 --- /dev/null +++ b/docs/cluster-cleanup-2026-06-01.md @@ -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 платформы diff --git a/kubeconfig-test3 b/kubeconfig-test3 new file mode 100644 index 0000000..1decb48 --- /dev/null +++ b/kubeconfig-test3 @@ -0,0 +1,18 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2akNDQWRLZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJMk1ETXhNekV3TVRZeU9Wb1hEVE0yTURNeE1ERXdNakV5T1Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTU1nCmxiYTcrejA2WVdPMHB3elZjWWJKUmp2ZHpDTW93V09JY1VjZnBqQlhwNEllSWNLZFU0bkhLRzljWVJ5Q2JMQkUKTG5ob29kNEdncVdzSU1QbENNV1ljRE1rN0puMU1RVVQ2WHFTaVpMZDlTZXFOUDBicWZ1YTdXcllXNjE5c3cwRApucTA5Z0dmRnJCdXd3di9tWWdUcWpvNGZsZ3VGY2pZNWdWeXgvbCtWeFlGOXZMM0ZhQlpzNCtrNDhzaSt3ZlRwClVoWnkxeTBVSFNIYkRHbFJzTkoxYkg3N3N1OVN5YkZFVjZGMUNzV0l1S0s5WjNLM3dnSFVxZk9CT1NydzR0ZFEKbWo5dldiRFFuK1Y1Q0Q0dGRuMzhxOGFuZHVNdWFJOC9OclQ5ajZjZXRvZzlVZk1qTjVodWJsRnd5VzZzTlloNQoyckVQbU5PMVVnY2F0djY0MjY4Q0F3RUFBYU5GTUVNd0RnWURWUjBQQVFIL0JBUURBZ0trTUJJR0ExVWRFd0VCCi93UUlNQVlCQWY4Q0FRQXdIUVlEVlIwT0JCWUVGTWRvTzN6MFJidEViTlBrRnNXZ1RCWStNWnBKTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQmxhS2krYStlUkdXUUlXeGlGbmZqalBNRXhWSjlFYnZKZy9sWnhSNjNnYndFawpLNVZITFhZQ1lsL2hhZTljRWR3NXlYVGJEZGFXU1M4YWtYSm5NWXppMUxqQXFKWHBhNXU0QVpCZFJudkhmNlZUClJkNWZ6Q3pRMnBVL2RmVkMzcWtqTEhkemxvcWZPS2ZqQ1BGZ2E0Uk9CUlpuUUp3NlE2L3JVaFFIVjJNRE5YZlAKNXFrVmlnSlBJbTl4bWVNZHVRRHM5d0VobDc2VEJEYkFOREdjRE4zV25WaGFZVVBtcmtTeGh2RVBHL3J2VkltWQpPWWVod0t0MTBQM1hjbUVFcGNxZFlOcWV6TXpoMW5veFVoMjlOOHVnek03TVhSeXRzeWIrSmZiditJWXVVYlFwCmczQ1BlWEdic3lIczJ0NTBBa1ZUdEo3T3FObkkxTjNDQ1E5c3dWWVcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + server: https://185.247.187.146:6443 + name: naeel-test-3 +contexts: +- context: + cluster: naeel-test-3 + user: tazetdinovn@gmail.com + name: tazetdinovn@gmail.com@naeel-test-3 +current-context: tazetdinovn@gmail.com@naeel-test-3 +kind: Config +preferences: {} +users: +- name: tazetdinovn@gmail.com + user: + token: eyJhbGciOiJSUzI1NiIsImtpZCI6InNoIiwidHlwIjoiSldUIn0.eyJhdWQiOiJiYWNrZW5kIiwiZXhwIjoxNzgwMzg1NzIwLCJqdGkiOiI0OWRlMWYwZS03OTU0LTQ1YTYtYWFhZC02N2NjMjQ3Yjg2MGQiLCJpYXQiOjE3ODAyOTkzMjAsImlzcyI6Imh0dHBzOi8vYXV0aC5rOHMubmdjbG91ZC5ydSIsInN1YiI6InRhemV0ZGlub3ZuQGdtYWlsLmNvbSIsImNsYWltcyI6WyIiLCIiLCJ3ejAzNzA5LXNodHVydmFsLWFkbWluLWlvdC1uYWVlbCIsInd6MDM3MDktc2h0dXJ2YWwtYWRtaW4tbmFlZWwtdGVzdC0zIl0sIm5hbWUiOiLQndCw0LjQu9GMINCi0LDQt9C10YLQtNC40L3QvtCyIiwiZW1haWwiOiJ0YXpldGRpbm92bkBnbWFpbC5jb20iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJ0YXpldGRpbm92bkBnbWFpbC5jb20ifQ.JT5kNzHME_PZO9QXyy6wiSIHeQ9pwkEZM8jJ4MW-XvwIk7CKn12n8xfrHRAxk_V2NqXN4yHqrAUJCZs77-xTSSKrzQ5uOZOeNcvMvr14EnFvuvGbQU_LOkAFsfFFqoxh5V-TxMvg4Lh-tRk3quXhdkIOGGWD1mpgJBzJHw-zGbO2wQMeQHA8YyRSmFbHY05WYsYqcy0QZ92-2XxgPNHLI8tmIR0e8xAlbQHFU3vK7I5ZeoumrIuV_LWtbfTiHdW2yYUruaNunTgvVA_3bZh0oQeXERB7n3Cn04Chpo_lvO6RfU73EdQwb8wwQcq8OgDLyMR2pBl9GC1CV7AorZctuA