与 Pod 的亲缘性
亲缘性
强制性
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
spec:
selector:
matchLabels:
app: frontend
replicas: 5
template:
metadata:
labels:
app: frontend
spec:
affinity:
podAffinity: # 配置与 Pod 的亲缘性规则
requiredDuringSchedulingIgnoredDuringExecution: # 强制性
- topologyKey: kubernetes.io/hostname # 强制将该 Pod 调度至与目标 Pod 所在 Node 具有相同 key=kubernetes.io/hostname 以及 value 相同的 Node 子集中(由于 kubernetes.io/hostname 标签是每个 Node 都有的,但 value 各不相同,因此这里可以实现强制将 Pod 与目标 Pod 绑定至同一 Node 中)
namespaces: # 匹配的目标 Pod 存在于 default 和 n1 命名空间中
- default
- n1
labelSelector: # 匹配亲缘的目标 Pod(也可以使用 matchExpressions 字段进行复杂匹配)
matchLabels:
app: backend
containers:
- name: main
image: busybox
args:
- sleep
- "99999"非强制性
非亲缘性
强制性
非强制性
Last updated