我正在使用nodegroup在AWS EKS上启动一个K8S集群。我启动了几个实例,它们作为具有4GiB和2个vCPU的k8s节点运行。
如何启动需要32 can内存和8 vCPU的pod。我收到内存/cpu错误。
有没有办法让一个pod在几个节点上运行?
发布于 2021-10-06 06:17:21
您不能在多台机器上运行一个pod,就像您不能在多个物理设备上运行一个进程一样。但是您可以运行该进程的副本,因此有几个workload controllers可以为您创建和管理许多相同的pod。尽管每个pod的机器资源(CPU、RAM)将限制为节点的资源(在您的示例中为2核、4 4GB )。
发布于 2021-10-06 06:47:08
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。您会发现工作节点的容量并不是由其实例类型决定的。
然后,您可以为需要8 vCPU和32 or或更大的工作负载创建实例类型为m5.4xlarge的新节点组。您也可以使用更大的实例类型来修改已有的节点组autoscaling group。最后,在您的部署规范中,您将使用nodeSelector来指导调度程序在何处运行您的pod:
nodeselector:
node.kubernetes.io/instance-type: m5.4xlargeIs there a way for one pod running on top of a few nodes?
pod只能在工作节点上运行。
https://stackoverflow.com/questions/69460541
复制相似问题