我在安装Cilium时得到:
Warning FailedScheduling 4m21s (x17 over 84m) default-scheduler 0/1 nodes are available: 1 node(s) didn't match pod anti-affinity rules. preemption: 0/1 nodes are available: 1 node(s) didn't match pod anti-affinity rules.
我怎么能看到规则,我能改变它吗?
如果我执行kubectl describe node
,我没有任何nodeAffinity
设置。节点有Taints:<none>
运行$ kubectl get pods
,显示"Pending status"。(kubectl get pods -o wide
)
描述pod运行$ kubectl describe pod POD_NAME
,它显示一个警告作为事件的一部分,如果不工作,尝试按照@Chris的建议执行kubectl get pod <name> -o yaml
。在那里你会发现spec.affinity
在确定哪个反关联规则触发警告之后。你可以选择
要么纠正规则,要么在集群中进行一些更改以支持规则
例如:让我们举一个例子,尝试使用podAntiAffinity部署4个Ngnix部署副本。规则,适用于3节点集群。这里最后一个副本不能被调度,因为没有可用的节点。
可以选择减少副本的数量,增加副本的数量的节点,调整规则以使用软/首选项要求或删除podAntiAffinity规则。