如何在GKE Autopilot中部署低资源请求的多容器Pod?
在GKE Autopilot中部署低资源请求的Pod
可以在GKE Autopilot中部署请求100m CPU和128MB内存的多容器Pod,但需要使用Scale-Out计算类,而非你尝试的Performance计算类——Autopilot并不支持将Performance作为计算类的有效值。
问题原因
你之前遇到的错误核心原因有两个:
- 指定了Autopilot不支持的计算类值
Performance,Autopilot支持的计算类包括Balanced(默认)、Scale-Out、MemoryOptimized、ComputeOptimized等; - 后续配置中加入了Autopilot禁止的nodeSelector键(如
cloud.google.com/machine-family),Autopilot仅允许官方限定的特定标签键。
解决方案示例
使用Scale-Out计算类的nodeSelector,并配置符合需求的资源请求,示例Deployment配置如下:
apiVersion: apps/v1 kind: Deployment metadata: name: low-resource-deployment namespace: default spec: replicas: 3 selector: matchLabels: app: low-resource-app template: metadata: labels: app: low-resource-app spec: nodeSelector: cloud.google.com/compute-class: Scale-Out containers: - name: app-container-1 image: your-app-image-1 resources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "512Mi" - name: app-container-2 image: your-app-image-2 resources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "512Mi"
关键说明
- Scale-Out计算类专为低资源请求的工作负载设计,支持的最小资源请求为1m CPU和1MB内存,完全匹配你的需求;
- 确保nodeSelector中仅包含Autopilot允许的标签键,避免加入
cloud.google.com/machine-family这类被禁止的键; - 资源limits可以根据应用实际峰值需求设置,无需与请求值绑定,但需符合Autopilot对该计算类的资源限制范围。
内容的提问来源于stack exchange,提问作者Ojas Kale
相关产品推荐
相关产品推荐

