K8S学习之基础五:k8s中node节点亲和性
- 游戏开发
- 2025-09-14 03:57:01

pod调度具体会调度到哪个节点呢?这里就涉及到node亲和性的问题
node节点亲和性nodeAffinity
硬亲和性:requiredDuringSchedulingIgnoredDuringExecution,必须满足
软亲和性:preferredDuringSchedulingIgnoredDuringExecution,最好满足
# 硬亲和性 vi pod-nodeaffinity-demo.yaml kind: Pod metadata: name: pod-node-affinity-demo namespace: default labels: app: myapp tier: frontend spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: zone operator: In values: - foo - bar containers: - name: myapp image: 172.16.80.140/nginx/nginx:1.26 imagePullPolicy: IfNotPresent kubectl describe pod pod-node-affinity-demo# pod处于pending状态,原因是没有符合硬亲和性条件的node节点
# 在node02上打上标签 zone=foo或者zone=bar,那先pod被调度到node02节点
# 软亲和性,如果没有符合条件的就忽略,weight是相对权重,权重越高,pod调度的几率越大 vi pod-nodeaffinity-demo-2.yaml kind: Pod metadata: name: pod-node-affinity-demo-2 namespace: default labels: app: myapp tier: frontend spec: containers: - name: myapp image: 172.16.80.140/nginx/nginx:1.26 imagePullPolicy: IfNotPresent affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: zone1 operator: In values: - foo1 - bar1 weight: 10 - preference: matchExpressions: - key: zone2 operator: In values: - foo2 - bar2 weight: 20 kubectl apply -f pod-nodeaffinity-demo-2.yamlK8S学习之基础五:k8s中node节点亲和性由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“K8S学习之基础五:k8s中node节点亲和性”
下一篇
服务器和本地电脑之间如何传输文件