根据kubernetes documents,requiredDuringSchedulingRequiredDuringExecution
仍未实施。但我看到一些帖子是used。我们需要使用它,它在GCE中有效吗?
目前,我们使用requiredDuringSchedulingIgnoredDuringExecution
,但有时会导致其中一个pod处于暂挂状态,因为资源紧张导致它们无法在同一节点上。我们需要在相同节点上的两个pod,以便他们可以共享SSD。之前,我们尝试使用nfs
,但nfs
比使用本地ssd
慢。根据我们的需要,我们希望kubernetes创建一个新节点,并在其中安装这两个pod,而不是处于pending
状态。
答案 0 :(得分:0)
如果由于节点上的资源有限而无法将其中一个Pod分配给该节点,那么我建议增加节点池中的资源。
Kubernetes提供的功能基于版本。如果您使用的Kubernetes版本具有Inter-pod亲和力和反亲和力,那么它将在GKE中可用。使用GKE时,唯一的限制之一是您不能对Master节点进行更改,因为它是一项托管服务。如果您在GCE中构建了自己的集群,则此限制不适用。
如果将Pod标记为已分配给特定节点,但由于计划将其他Pod调度到该节点而不能,则也可以使用taints。污点与节点亲和力相反,污点会排斥豆荚,使其无法调度到特定节点。