Design: Kubernetes Cluster for Microservices
Design the Kubernetes cluster architecture and core components for microservices deployment. Out of scope: detailed microservice code, CI/CD pipelines, and advanced security policies.
Functional Requirements
FR1: Deploy multiple microservices with independent scaling
FR2: Ensure high availability of services
FR3: Enable rolling updates without downtime
FR4: Provide service discovery and load balancing
FR5: Allow configuration and secret management
FR6: Monitor health and restart failed containers automatically
Non-Functional Requirements
NFR1: Support up to 1000 concurrent users
NFR2: API response latency p99 under 200ms
NFR3: Cluster uptime 99.9% (max 8.77 hours downtime per year)
NFR4: Use open-source Kubernetes components
NFR5: Support deployment on cloud or on-premise