K8s 节点亲和性 示例
K8s 节点亲和性, 强亲和性/软亲和性 示例
·
可以将节点亲和性看作Node Selector 的升级版,亲和性语义更多,灵活性更强。
强亲和性(hard node affinity)
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: disktype
operator: In
values:
- ssd
imagePullSecrets:
- name: kleven-registry
containers:
- name: nginx
image: kleven-repositpry:8083/nginx
requiredDuringScheduling: 必须满足才能被调度,在kube-scheduler 的 predicate 阶段筛选符合条件的节点。
软亲和性(soft node affinity)
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: disktype
operator: In
values:
- ssd
imagePullSecrets:
- name: kleven-registry
containers:
- name: nginx
image: kleven-repositpry:8083/nginx
preferredDuringScheduling: 满足条件的节点优先调度,即优先级要高一些,发生在kube-scheduler的priority的阶段,通常也称之为打分阶段。
更多推荐
已为社区贡献4条内容
所有评论(0)