首页 > 解决方案 > 如何启动在 k8s 中的几个小型实例节点上运行的 pod?

问题描述

我正在使用节点组在 AWS EKS 上启动 K8S 集群。我启动了一些作为 k8s 节点运行的实例,这些节点具有 4GiB 和 2 个 vCPU。

如何启动需要 32GB 内存和 8 个 vCPU 的 pod。我收到内存/cpu 错误。

有没有办法让一个 pod 在几个节点上运行?

标签: amazon-web-serviceskubernetesamazon-eks

解决方案


How can I launch a pod which request 32GB memory and 8 vCPU. I am getting memory/cpu errors.

要获得工作节点的实际可分配容量,您可以这样做kubectl get node <node name> -o json | jq .status.capacity。你会发现一个工作节点的容量不是由它的实例类型决定的。

然后,您可以创建具有实例类型(如 m5.4xlarge)的新节点组,因为工作负载需要 8 个 vCPU 和 32GB 或更多。或者您也可以将现有的节点组自动伸缩组修改为更大的实例类型。最后,在您的部署规范中,您可以使用nodeSelector指示调度程序在哪里运行您的 pod:

nodeselector:
  node.kubernetes.io/instance-type: m5.4xlarge

Is there a way for one pod running on top of a few nodes?

Pod 只能在工作节点上运行。


推荐阅读