如何确定编程创建的pod的亲和/反亲和是什么?



我们遇到了一些问题,我们很少会遇到pod无法调度的错误,因为所有16个节点都由于亲和/反亲和而失败。我们不希望亲和性阻止任何节点被调度。

我想确定调度中亲和性失败的实际原因是什么,为此我认为我需要知道初始化pod的亲和性是什么。但是,我无法查看图表配置文件,因为这些特定的pod是在运行时以编程方式调度的。是否可以使用kubectl命令查看pod的关联设置,或者确定每个节点的关联检查失败的原因?

这是我自己想出来的。我使用的命令是:

kubectl get pods <pod_name> -o json | jq '.spec.affinity'

我必须yum安装jq这个工作。如果你想查看所有pod的亲缘关系,我认为你需要删除pod名称,并在jq命令的.spec前面添加.items[]。

对于那些好奇我的亲和力有这个

{ 
"key": "host",
"operator": "In",
"values": [
"yes"
]
}

,"yes"我觉得不太对。所以,是的,在我们的pod创建中发生了一些奇怪的事情。

最新更新