我正在使用nodegroup在AWS EKS上启动一个K8S集群。我启动了几个实例,它们作为k8s节点运行,具有4GiB和2vcpu。
如何启动一个请求32GB内存和8vcpu的pod ?我得到内存/cpu错误。
是否有一种方法可以让一个pod在几个节点上运行?
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.4 × large的新节点组,用于需要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只能在工作节点上运行。
你不能在一些机器上运行一个圆荚体,就像你不能在多个物理设备有一个过程。但是您可以运行流程的副本,因此有一些工作负载控制器可以为您创建和管理许多相同的pod。尽管每个pod的机器资源(CPU、RAM)将被限制为节点的机器资源(在您的示例中是2核、4GB RAM)。