Skip to main content

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 NameNode PoolMachine TypeCPUMemoryAgeUsage
gke-staging-api-gateway-pool-447b91e7-am3zapi-gateway-poole2-medium24GB197dCPU: 13%, Mem: 89% x
gke-staging-default-node-pool-6ea8edfe-cvvtdefault-node-poole2-standard-4416GB43dCPU: 35%, Mem: 73%
gke-staging-spot-node-pool-1-82cb9423-7hkpspot-node-pool-1 (Spot)e2-standard-4416GB35hCPU: 58%, Mem: 70%
gke-staging-spot-node-pool-1-82cb9423-vb45spot-node-pool-1 (Spot)e2-standard-4416GB26hCPU: 30%, Mem: 70%
gke-staging-spot-pool-3-zone-0cbd527e-tbmqspot-pool-3-zone (Spot)e2-standard-4416GB4hCPU: 69%, Mem: 52%

Total Capacity: 18 vCPUs, 68 GB RAM

x Alert: API Gateway node has high memory usage (89%)

Node Pools Summary

PoolMachine TypeSpotNodesTotal vCPUsTotal Memory
api-gateway-poole2-mediumNo124GB
default-node-poole2-standard-4No1416GB
spot-node-pool-1e2-standard-4Yes2832GB
spot-pool-3-zonee2-standard-4Yes1416GB

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

ServiceNamespaceExternal IPPortsPurpose
apisix-gatewayapisix34.126.74.23980, 443, 31092, 31644, 30082, 30081, 6379API Gateway
chatwootdefault34.143.218.2343000Customer support chat
lb-redpanda-0redpanda34.124.215.174Kafka portsRedpanda broker 0
lb-redpanda-1redpanda34.143.210.204Kafka portsRedpanda broker 1
lb-redpanda-2redpanda34.126.116.117Kafka portsRedpanda broker 2

Application Namespaces (Organized by Domain)

Infrastructure & Platform Services

NamespacePurposeDeployments
apisixAPI GatewayActive
etcdKey-value storeActive
redisCache & message brokerActive
redpandaKafka-compatible streaming3 StatefulSets
monitoringMetrics & observabilityInActive
cert-managerSSL certificate managementActive
kedaEvent-driven autoscalingActive
soketiWebSocket serverActive
sentry-relayError tracking relayActive
goldilocksResource recommendationsActive

Patient Portal (PAT) Services

NamespacePurposeDeployments
pat--authenticateAuthentication serviceActive
pat--booking--beBooking backend (14 deployments)Active
pat--patient-mgt--bePatient management (6 deployments)Active
pat--test-result--beTest results (24 deployments)Active
pat--notification--beNotifications (9 deployments)Active
pat--reminder-booking--beBooking reminders (7 deployments)Active
pat--dtc--beDTC backendActive
pat--dlq--beDead letter queueActive
pat--webappPatient web applicationActive

Referral/Results (RFD) Services

NamespacePurposeDeployments
rfd--webappRFD web application (7 deployments)Active
rfd--user-mgtUser management (7 deployments)Active
rfd--notificationNotifications (8 deployments)Active
rfd--test-library--beTest library (7 deployments)Active
rfd--doctor-kycDoctor KYCActive
rfd--doctor-statementDoctor statements (6 deployments)Active
rfd--doctor-test-resultDoctor test resultsActive
rfd--order-historyOrder history (6 deployments)Active
rfd--dashboardDashboardActive

Sapoche Clinic (SPC) Services

NamespacePurposeDeployments
spc--lisLaboratory Information System (26 deployments)Active
spc--posPoint of Sale (19 deployments)Active
spc--webappClinic web application (6 deployments)Active
spc--appointment--beAppointments (7 deployments)Active
spc--auditAudit logging (7 deployments)Active
spc--delivery--beDelivery managementActive
spc--promotion--bePromotionsActive
spc--booking-qsBooking queue systemActive
spc--noti-centre--beNotification centerActive
spc--pdf-generate--bePDF generation (6 deployments)Active
spc--purchase-order--bePurchase ordersActive
spc--websocket-serverWebSocket serverActive

Sapoche Core Services

NamespacePurposeDeployments
sapocheMain Sapoche application (38 deployments)Active
sapoche-feFrontendActive
sapoche-micro-financeFinance microserviceActive
sapoche-micro-lisLIS microserviceActive
sapoche-micro-search-pidPatient ID searchActive
sapoche-micro-search-vidVisit ID searchActive

Data Streaming Services

NamespacePurposeDeployments
data-streaming-producer-apiProducer APIActive
data-streaming-airtable-consumerAirtable consumerActive
data-streaming-hrservice-integrationHR service integrationActive
data-streaming-iris-consumerIRIS consumerActive
data-streaming-netsuite-producerNetSuite producerActive
data-streaming-ns-rt-consumerNetSuite RT consumerActive
data-streaming-sapoche-customer-consumerSapoche customer consumerActive
data-streaming-veevaVeeva integrationActive
data-streaming-veeva-consumerVeeva consumerActive

Internal Tools & Other Services

NamespacePurposeDeployments
diag-website-wordpressDIAG websiteActive
diag-focDIAG FOC applicationActive
diag-internal-toolsInternal toolingActive
diag-accounting-teamAccounting toolsActive
jenkinsCI/CD automationActive
bytebaseDatabase schema managementActive
impIMP application (27 deployments)Active
ecgECG servicesActive
signatureSignature services (6 deployments)Active
webportalWeb portalActive
short-linksURL shortenerActive
dynamic-linksDynamic link generatorActive
external-containerExternal containersActive
scalar-docsAPI documentationActive

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:

  1. PAT: Patient-facing portal services
  2. RFD: Referral and test results management
  3. SPC: Sapoche clinic management system
  4. Sapoche: Core Sapoche platform and microservices
  5. Data Streaming: Event streaming and integration services
  6. Infrastructure: Supporting platform services (API gateway, databases, monitoring)

Each domain has multiple microservices deployed in separate namespaces for isolation and independent scaling.