如何判断GKE Autopilot工作负载是否运行在Spot Pod上?
确认GKE中Pod是否运行在Spot节点上的方法
你可以通过以下几种方式直接验证Pod是否实际运行在Spot节点上:
查看Pod所在节点的标签
- 先获取Pod绑定的节点名称:
kubectl get pod nginx-2-deployment-#########-##### -n my-namespace -o jsonpath='{.spec.nodeName}' - 检查该节点是否带有Spot节点的专属标签:
如果输出为kubectl get node <获取到的节点名称> -o jsonpath='{.metadata.labels.cloud\.google\.com/gke-spot}'true,说明Pod确实运行在Spot节点上。
- 先获取Pod绑定的节点名称:
验证Pod的污点容忍配置
GKE Spot节点默认带有cloud.google.com/gke-spot=true:NoSchedule污点,能调度到这类节点的Pod必须包含对应的容忍规则。执行以下命令查看:kubectl get pod nginx-2-deployment-#########-##### -n my-namespace -o jsonpath='{.spec.tolerations}'输出结果中应包含匹配该污点的配置项。
通过wide格式快速关联节点
用wide格式查看Pod列表,直接获取节点名称后再验证节点标签:kubectl get pod nginx-2-deployment-#########-##### -n my-namespace -o wide
内容的提问来源于stack exchange,提问作者user2864832
相关产品推荐
相关产品推荐

