主页 > 游戏开发  > 

K8S学习之基础五:k8s中node节点亲和性

K8S学习之基础五:k8s中node节点亲和性

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.yaml

标签:

K8S学习之基础五:k8s中node节点亲和性由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“K8S学习之基础五:k8s中node节点亲和性