geocrop-platform./plan/00A_cluster_state_snapshot.md

112 lines
4.2 KiB
Markdown

# Cluster State Snapshot
**Generated:** 2026-02-28T06:26:40 UTC
This document captures the current state of the K3s cluster for the geocrop project.
---
## 1. Namespaces
```
NAME STATUS AGE
cert-manager Active 35h
default Active 36h
geocrop Active 34h
ingress-nginx Active 35h
kube-node-lease Active 36h
kube-public Active 36h
kube-system Active 36h
kubernetes-dashboard Active 35h
```
---
## 2. Pods (geocrop namespace)
```
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
geocrop-api-6f84486df6-sm7nb 1/1 Running 0 11h 10.42.4.5 vmi2956652.contaboserver.net <none> <none>
geocrop-worker-769d4999d5-jmsqj 1/1 Running 0 10h 10.42.4.6 vmi2956652.contaboserver.net <none> <none>
hello-api-77b4864bdb-fkj57 1/1 Terminating 0 34h 10.42.3.5 vmi3047336 <none> <none>
hello-web-5db48dd85d-n4jg2 1/1 Running 0 34h 10.42.0.7 vmi2853337 <none> <none>
minio-7d787d64c5-nlmr4 1/1 Running 0 34h 10.42.1.8 vmi3045103.contaboserver.net <none> <none>
redis-f986c5697-rndl8 1/1 Running 0 34h 10.42.0.6 vmi2853337 <none> <none>
```
---
## 3. Services (geocrop namespace)
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
geocrop-api ClusterIP 10.43.7.69 <none> 8000/TCP 34h
geocrop-web ClusterIP 10.43.101.43 <none> 80/TCP 34h
minio ClusterIP 10.43.71.8 <none> 9000/TCP,9001/TCP 34h
redis ClusterIP 10.43.15.14 <none> 6379/TCP 34h
```
---
## 4. Ingress (geocrop namespace)
```
NAME CLASS HOSTS ADDRESS PORTS AGE
geocrop-minio nginx minio.portfolio.techarvest.co.zw,console.minio.portfolio.techarvest.co.zw 167.86.68.48 80, 443 34h
geocrop-web-api nginx portfolio.techarvest.co.zw,api.portfolio.techarvest.co.zw 167.86.68.48 80, 443 34h
```
---
## 5. PersistentVolumeClaims (geocrop namespace)
```
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE
minio-pvc Bound pvc-44bf8a0f-cbc9-4336-aa54-edf1c4d0be86 30Gi RWO local-path <unset> 34h
```
---
## Summary
### Cluster Health
- **Status:** Healthy
- **K3s Cluster:** Operational with 3 worker nodes
- **Namespace:** `geocrop` is active and running
### Service Status
| Component | Status | Notes |
|-----------|--------|-------|
| geocrop-api | Running | API service on port 8000 |
| geocrop-worker | Running | Worker for inference tasks |
| minio | Running | S3-compatible storage on ports 9000/9001 |
| redis | Running | Message queue backend on port 6379 |
| geocrop-web | Running | Frontend service on port 80 |
### Observations
1. **MinIO:** Running with 30Gi PVC bound to local-path storage
- Service accessible at `minio.geocrop.svc.cluster.local:9000`
- Console at `minio.geocrop.svc.cluster.local:9001`
- Ingress configured for `minio.portfolio.techarvest.co.zw` and `console.minio.portfolio.techarvest.co.zw`
2. **Redis:** Running and healthy
- Service accessible at `redis.geocrop.svc.cluster.local:6379`
3. **API:** Running (v3)
- Service accessible at `geocrop-api.geocrop.svc.cluster.local:8000`
- Ingress configured for `api.portfolio.techarvest.co.zw`
4. **Worker:** Running (v2)
- Processing inference jobs from RQ queue
5. **TLS/INGRESS:** All ingress resources configured with TLS
- Using nginx ingress class
- Certificates managed by cert-manager (letsencrypt-prod ClusterIssuer)
### Legacy Pods
- `hello-api` and `hello-web` pods are present but in terminating/running state (old deployment)
- These can be cleaned up in a future maintenance window