首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Statefulset的副本调度问题

Statefulset的副本调度问题
EN

Stack Overflow用户
提问于 2020-05-07 03:02:15
回答 2查看 217关注 0票数 0

有没有什么我可以告诉Kuberbetes如何调度statefulset中的副本的?例如,我将节点划分为3个不同的可用区(AZ)。我已经相应地标记了这些节点。现在我希望K8s根据节点标签在每个AZ中放置一个副本。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-07 03:13:55

Pods将总是尝试在不同的节点上进行调度,为了实现您正在寻找的目标,您可以尝试使用DaemonSet,它将在每个节点中只允许其中一种pods。

此外,您还可以基于该节点中已调度的pod使用反亲和性。

https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

票数 2
EN

Stack Overflow用户

发布于 2020-05-07 03:17:48

您要查找的功能名为Pod Anti-Affinity,可以这样指定:

代码语言:javascript
复制
apiVersion: apps/v1
kind: StatefulSet
[..]
spec:
  template:
    spec:
      affinity:
        nodeAffinity: {}
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchLabels:
                  app: myapp
              topologyKey: az
            weight: 100
[..]

从Kubernetes1.18开始,还有Pod Topology Spread Constraints,它是指定这些反亲和性规则的一种更好的方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61643239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档