1

我们使用本地持久存储作为 SOLR pod 的存储后端。Pod 被冗余调度到多个 Kubernetes 节点。如果其中一个节点出现故障,其他节点上总会有足够的实例。

如果我们想对一个节点进行维护,我们如何排空这些节点(而不是将 SOLR pod“迁移”到其他节点)?对我们来说最重要的是 kube-proxy 将不再向相关节点上的 Pod 发送新请求,这样一段时间后我们就可以在不中断运行请求的服务的情况下进行维护。

我们尝试了警戒线,但警戒线只会确保没有新的 Pod 被安排到节点上。Drain 似乎不适用于具有本地持久卷的 pod。

4

1 回答 1

1

您可以查看 pod 反亲和性。

https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

这些构造允许您在满足某些条件时排斥或吸引豆荚。

在您的情况下,pod 反亲和性“requiredDuringSchedulingIgnoredDuringExecution”可能是您最好的选择。我还没有亲自使用它,我希望它可以引导你走向正确的方向。

于 2018-07-29T01:24:33.223 回答