Staging Cluster (asia-southeast1-a)
Cluster Information
- Cluster Name:
gke_diagvn_asia-southeast1-a_staging - Project: diagvn
- Region: Asia Southeast 1 (Singapore)
- Zone: asia-southeast1-a
- Environment: Staging
- Kubernetes Version: v1.30.9-gke.1127000 (nodes) / v1.31.7-gke.1390000 (spot nodes)
Control Plane
- API Server: https://34.87.77.203
- Status: Running
- Components:
- GLBCDefaultBackend
- KubeDNS
- KubeDNSUpstream
- Metrics-server
Cluster Resources
Nodes (5 nodes across 4 node pools)
| Node Name | Node Pool | Machine Type | CPU | Memory | Age | Usage |
|---|---|---|---|---|---|---|
| gke-staging-api-gateway-pool-447b91e7-am3z | api-gateway-pool | e2-medium | 2 | 4GB | 197d | CPU: 13%, Mem: 89% x |
| gke-staging-default-node-pool-6ea8edfe-cvvt | default-node-pool | e2-standard-4 | 4 | 16GB | 43d | CPU: 35%, Mem: 73% |
| gke-staging-spot-node-pool-1-82cb9423-7hkp | spot-node-pool-1 (Spot) | e2-standard-4 | 4 | 16GB | 35h | CPU: 58%, Mem: 70% |
| gke-staging-spot-node-pool-1-82cb9423-vb45 | spot-node-pool-1 (Spot) | e2-standard-4 | 4 | 16GB | 26h | CPU: 30%, Mem: 70% |
| gke-staging-spot-pool-3-zone-0cbd527e-tbmq | spot-pool-3-zone (Spot) | e2-standard-4 | 4 | 16GB | 4h | CPU: 69%, Mem: 52% |
Total Capacity: 18 vCPUs, 68 GB RAM
x Alert: API Gateway node has high memory usage (89%)
Node Pools Summary
| Pool | Machine Type | Spot | Nodes | Total vCPUs | Total Memory |
|---|---|---|---|---|---|
| api-gateway-pool | e2-medium | No | 1 | 2 | 4GB |
| default-node-pool | e2-standard-4 | No | 1 | 4 | 16GB |
| spot-node-pool-1 | e2-standard-4 | Yes | 2 | 8 | 32GB |
| spot-pool-3-zone | e2-standard-4 | Yes | 1 | 4 | 16GB |
Cost Optimization: 3 out of 5 nodes use Spot VMs for reduced costs
Workload Overview
- Total Deployments: 372
- Total Namespaces: 76
- Active Namespaces with Workloads: 69
- HorizontalPodAutoscalers: 3
- StatefulSets: Multiple (Redis, Redpanda, etcd, databases)
Access
To connect to this cluster:
# Switch context
kubectx gke_diagvn_asia-southeast1-a_staging
# Verify connection
kubectl cluster-info
# View nodes
kubectl get nodes
# View all resources
kubectl get all --all-namespaces
External Access Points
| Service | Namespace | External IP | Ports | Purpose |
|---|---|---|---|---|
| apisix-gateway | apisix | 34.126.74.239 | 80, 443, 31092, 31644, 30082, 30081, 6379 | API Gateway |
| chatwoot | default | 34.143.218.234 | 3000 | Customer support chat |
| lb-redpanda-0 | redpanda | 34.124.215.174 | Kafka ports | Redpanda broker 0 |
| lb-redpanda-1 | redpanda | 34.143.210.204 | Kafka ports | Redpanda broker 1 |
| lb-redpanda-2 | redpanda | 34.126.116.117 | Kafka ports | Redpanda broker 2 |
Application Namespaces (Organized by Domain)
Infrastructure & Platform Services
| Namespace | Purpose | Deployments |
|---|---|---|
| apisix | API Gateway | Active |
| etcd | Key-value store | Active |
| redis | Cache & message broker | Active |
| redpanda | Kafka-compatible streaming | 3 StatefulSets |
| monitoring | Metrics & observability | InActive |
| cert-manager | SSL certificate management | Active |
| keda | Event-driven autoscaling | Active |
| soketi | WebSocket server | Active |
| sentry-relay | Error tracking relay | Active |
| goldilocks | Resource recommendations | Active |
Patient Portal (PAT) Services
| Namespace | Purpose | Deployments |
|---|---|---|
| pat--authenticate | Authentication service | Active |
| pat--booking--be | Booking backend (14 deployments) | Active |
| pat--patient-mgt--be | Patient management (6 deployments) | Active |
| pat--test-result--be | Test results (24 deployments) | Active |
| pat--notification--be | Notifications (9 deployments) | Active |
| pat--reminder-booking--be | Booking reminders (7 deployments) | Active |
| pat--dtc--be | DTC backend | Active |
| pat--dlq--be | Dead letter queue | Active |
| pat--webapp | Patient web application | Active |
Referral/Results (RFD) Services
| Namespace | Purpose | Deployments |
|---|---|---|
| rfd--webapp | RFD web application (7 deployments) | Active |
| rfd--user-mgt | User management (7 deployments) | Active |
| rfd--notification | Notifications (8 deployments) | Active |
| rfd--test-library--be | Test library (7 deployments) | Active |
| rfd--doctor-kyc | Doctor KYC | Active |
| rfd--doctor-statement | Doctor statements (6 deployments) | Active |
| rfd--doctor-test-result | Doctor test results | Active |
| rfd--order-history | Order history (6 deployments) | Active |
| rfd--dashboard | Dashboard | Active |
Sapoche Clinic (SPC) Services
| Namespace | Purpose | Deployments |
|---|---|---|
| spc--lis | Laboratory Information System (26 deployments) | Active |
| spc--pos | Point of Sale (19 deployments) | Active |
| spc--webapp | Clinic web application (6 deployments) | Active |
| spc--appointment--be | Appointments (7 deployments) | Active |
| spc--audit | Audit logging (7 deployments) | Active |
| spc--delivery--be | Delivery management | Active |
| spc--promotion--be | Promotions | Active |
| spc--booking-qs | Booking queue system | Active |
| spc--noti-centre--be | Notification center | Active |
| spc--pdf-generate--be | PDF generation (6 deployments) | Active |
| spc--purchase-order--be | Purchase orders | Active |
| spc--websocket-server | WebSocket server | Active |
Sapoche Core Services
| Namespace | Purpose | Deployments |
|---|---|---|
| sapoche | Main Sapoche application (38 deployments) | Active |
| sapoche-fe | Frontend | Active |
| sapoche-micro-finance | Finance microservice | Active |
| sapoche-micro-lis | LIS microservice | Active |
| sapoche-micro-search-pid | Patient ID search | Active |
| sapoche-micro-search-vid | Visit ID search | Active |
Data Streaming Services
| Namespace | Purpose | Deployments |
|---|---|---|
| data-streaming-producer-api | Producer API | Active |
| data-streaming-airtable-consumer | Airtable consumer | Active |
| data-streaming-hrservice-integration | HR service integration | Active |
| data-streaming-iris-consumer | IRIS consumer | Active |
| data-streaming-netsuite-producer | NetSuite producer | Active |
| data-streaming-ns-rt-consumer | NetSuite RT consumer | Active |
| data-streaming-sapoche-customer-consumer | Sapoche customer consumer | Active |
| data-streaming-veeva | Veeva integration | Active |
| data-streaming-veeva-consumer | Veeva consumer | Active |
Internal Tools & Other Services
| Namespace | Purpose | Deployments |
|---|---|---|
| diag-website-wordpress | DIAG website | Active |
| diag-foc | DIAG FOC application | Active |
| diag-internal-tools | Internal tooling | Active |
| diag-accounting-team | Accounting tools | Active |
| jenkins | CI/CD automation | Active |
| bytebase | Database schema management | Active |
| imp | IMP application (27 deployments) | Active |
| ecg | ECG services | Active |
| signature | Signature services (6 deployments) | Active |
| webportal | Web portal | Active |
| short-links | URL shortener | Active |
| dynamic-links | Dynamic link generator | Active |
| external-container | External containers | Active |
| scalar-docs | API documentation | Active |
Important Notes
- This is a staging cluster for testing and development
- Spot VMs are used for cost optimization (can be preempted)
- Much larger scale than production: 372 deployments across 76 namespaces
- Microservices architecture with domain-based namespace organization
- Multiple major applications: PAT (patient portal), RFD (referral), SPC (clinic), Sapoche
Quick Commands
# View resource usage
kubectl top nodes
kubectl top pods --all-namespaces | head -20
# Check specific application domain
kubectl get pods -n sapoche
kubectl get pods -n pat--booking--be
# View deployments in a namespace
kubectl get deployments -n spc--lis
# View all LoadBalancer services
kubectl get svc --all-namespaces --field-selector spec.type=LoadBalancer
# Count resources
kubectl get deployments --all-namespaces --no-headers | wc -l
kubectl get pods --all-namespaces --no-headers | wc -l
Architecture Overview
The staging cluster follows a microservices architecture organized by business domains:
- PAT: Patient-facing portal services
- RFD: Referral and test results management
- SPC: Sapoche clinic management system
- Sapoche: Core Sapoche platform and microservices
- Data Streaming: Event streaming and integration services
- Infrastructure: Supporting platform services (API gateway, databases, monitoring)
Each domain has multiple microservices deployed in separate namespaces for isolation and independent scaling.