k8s反亲和配置

背景

  pod 数量多,同时落在同一台k8s node机器上.

WHAT

亲和性:应用A与应用B两个应用频繁交互,所以有必要利用亲和性让两个应用的尽可能的靠近,甚至在一个node上,以减少因网络通信而带来的性能损耗。
反亲和性:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个node上,以提高HA。

两种类型:

requiredDuringSchedulingIgnoredDuringExecution: hard,严格执行,满足规则调度,否则不调度,在预选阶段执行,所以违反hard约定一定不会调度到
preferredDuringSchedulingIgnoredDuringExecution:soft,尽力执行,优先满足规则调度,在优选阶段执行

具体配置,如项目h3-wangrenqing


preferredDuringSchedulingIgnoredDuringExecution: 尽量满足
requiredDuringSchedulingIgnoredDuringExecution:  必须满足,满足不了就不启动
  
    affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 100
              podAffinityTerm:
                labelSelector:
                  matchLabels:
                    app: h3-wangrenqing
                    project: xxx
                topologyKey: kubernetes.io/hostname

posted @ 2022-09-28 14:41  清风木  阅读(314)  评论(0编辑  收藏  举报