Redis pod没有被调度到kubernetes的指定节点



我在k3s集群中部署redis pod时遇到了一个问题。

我已经更新了我的图表。

...
dependencies:
name: redis
version: 10.2.3
repository: https://charts.bitnami.com/bitnami
...

但是当我试图在值中应用nodeaffinity规则时。Yaml如下

redis:
master:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- worker4

然而,我们看到它没有被调度到node4。请问谁能告诉我哪个规则是错误的,或者我应该用pod亲和来代替。

preferredDuringSchedulingIgnoredDuringExecution是软约束。调度器会考虑您的偏好,但如果在运行其他调度器逻辑后,其他节点具有更高的优先级分数,则不需要尊重您的偏好。您还给了它一个最小重量的weight: 1

如果您想强制pod在worker4上运行,您可以使用requiredDuringSchedulingIgnoredDuringExecution而不是preferredDuringSchedulingIgnoredDuringExecution创建硬约束。这意味着如果没有其他节点匹配标签kubernetes.io/hostname: worker4,您的pod将变得不可调度。

如果您想使用preferredDuringSchedulingIgnoredDuringExecution以便您的pod可以在worker4不可用时被调度到任何节点,您可以尝试增加权重。weight取值范围为range 1-100.

相关内容

  • 没有找到相关文章

最新更新