An enterprise DevOps team is designing the GKE deployment architecture for two upcoming microservices:
1. A stateless HTTP API service that experiences sudden, unpredictable load spikes and requires hands-off node infrastructure management with zero operational overhead for cluster upgrades.
2. A specialized network security monitoring daemon that requires elevated Linux privileges (`CAP_SYS_ADMIN`) and direct access to the host node network namespace (`hostNetwork: true`).
Which GKE deployment and cluster configuration strategy correctly fulfills both application requirements while adhering to Google Cloud recommended best practices?
- Deploy the stateless HTTP API service to a GKE Autopilot cluster, and deploy the network security daemon to a GKE Standard cluster with a dedicated node pool.Answer
- BDeploy both microservices to a single GKE Autopilot cluster using separate Kubernetes namespaces and custom pod security standards.
- CDeploy both microservices to a single GKE Standard cluster using Spot VM node pools for both workloads to minimize operational costs.
- DDeploy the HTTP API service to GKE Standard using a Horizontal Pod Autoscaler (HPA) configured to scale the node pool VM instance count, and deploy the daemon to GKE Autopilot.
Answer
Deploy the stateless HTTP API service to a GKE Autopilot cluster, and deploy the network security daemon to a GKE Standard cluster with a dedicated node pool.
The correct strategy separates the workloads based on GKE operational boundaries. GKE Autopilot provides fully managed node provisioning, scaling, and maintenance for stateless workloads without infrastructure management overhead. However, Autopilot restricts host network binding (`hostNetwork: true`) and elevated Linux capabilities (`CAP_SYS_ADMIN`). Consequently, the privileged monitoring daemon must be deployed to a GKE Standard cluster where node configuration and pod security settings can be customized.
Step-by-Step Solution
Key Concept
GKE Autopilot vs. Standard Operational Boundaries and Workload Isolation Requirements