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
----------当你发现自己的才华撑不起野心时,就请安静下来学习吧---------