geocrop-platform./plan/00A_cluster_state_snapshot.md

4.2 KiB

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