Geo-Distributed Blockchain Node Cluster in Kubernetes
Geo-Distributed Blockchain Node Cluster in Kubernetes
Client
Cryptocurrency platform (Web3 / DeFi)
Challenge
The client needed fault-tolerant infrastructure to run ETH and BSC full nodes across four regions (EU, US, AP, LatAm) with minimal latency for end users, DDoS and RPC spam protection, secure HSM-based transaction signing, and centralized observability. Cold node sync takes 2β3 weeks β a fast-bootstrap solution was required.
Solution
1. Infrastructure & IaC (Terraform + EKS)
- Terraform modules: VPC, subnets, security groups for 4 regions (Frankfurt, Virginia, Singapore, SΓ£o Paulo)
- Managed Kubernetes (EKS 1.29+) per region with dedicated node pools: full nodes, archive nodes, signing service
- NVMe StorageClass (gp3) via CSI driver for high-performance chaindata storage
- Helm charts for geth / bsc-node with per-region custom values
2. GitOps: Flux CD Multi-Cluster
- Flux CD v2 with
Kustomizationper region β single source of truth for all clusters - Secrets management: HashiCorp Vault + External Secrets Operator (ESO)
- All infrastructure changes applied via git push β no direct cluster access required
3. Load Balancing & Anti-Spam
- HAProxy 2.8: sticky sessions, health checks via
eth_syncingβ traffic routed only to fully synced nodes - Nginx Ingress: rate limiting, IP reputation filtering (Lua-based, fail2ban-style)
- Cloudflare Workers: geo-routing + L7 DDoS protection
- Custom Go sidecar: health endpoint returns
readyonly when node is fully synced
4. HSM Integration for Transaction Signing
- AWS CloudHSM (prod) / YubiHSM2 (staging) for private key storage
- Go microservice with PKCS#11 abstraction β swap HSM vendor without rewriting code
- Isolated K8s namespace + NetworkPolicy: no egress except to HSM endpoint
- gRPC API for backend: sign tx, get pubkey
- Full audit log of all signing operations β Loki
5. Monitoring & Alerting
- Custom Prometheus exporter (Go):
eth_blockNumber,eth_syncing, peer count per node - Grafana dashboards: sync lag, block height per region, RPC latency, SLO 99.9%
- Alertmanager β PagerDuty: alerts on block lag > N blocks, node down, peer count below threshold
- Loki + Promtail: structured logs from all nodes with region/pod correlation
6. Operations & Disaster Recovery
- Snapshot bootstrap: chaindata from S3 via rclone β node ready in hours instead of weeks
- DR playbook: step-by-step runbooks for regional recovery
- Chaos Engineering (Chaos Mesh): node kill, network partition, pod failure tests
- Architecture Decision Records (ADR) for all key design choices
Technologies
Results
β
Geo-routing: latency reduced by routing users to the nearest region
β
Fast bootstrap: node ready in hours via S3 snapshot instead of 2β3 weeks of sync
β
Anti-spam: rate limiting + IP reputation β public RPC handles bot load without degradation
β
HSM: private keys never leave the hardware module
β
GitOps: every infrastructure change goes through git with a full audit trail
β
SLO 99.9%: tracked in Grafana, PagerDuty alerts on any degradation
Architecture
Duration
250 hours (β 10β12 weeks)
Cost
from $7,500