您的位置 首页 k8s

K8s Pod调度之亲和性 podAffinity

K8s Pod调度之亲和性 podAffinity

1.给节点打标签

kubectl label nodes master231 dc=yizhuang
kubectl label nodes worker232 dc=jiuxianqiao
kubectl label nodes worker233 dc=baimei

kubectl get nodes --show-labels

2.资源清单

cat 01-podAffinity.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-tolerations-podaffinity
spec:
  replicas: 10
  selector:
    matchExpressions:
    - key: apps
      values: 
      - "v1"
      - "v2"
      operator: In
  template:
    metadata:
      labels:
        apps: v1
    spec:
      # 基于节点的标签进行调度,将Pod调度到包含key为type,value为ssd的节点上。
      # nodeSelector:
      #   type: ssd
      #
      # 配置亲和性
      affinity:
        # 配置Pod亲和性
        podAffinity:
           # 硬限制
           requiredDuringSchedulingIgnoredDuringExecution:
             # 指定拓扑域,可以理解为基于哪个标签进行分配
           - topologyKey: dc
             # 配置标签选择器
             labelSelector:
                # 基于Pod标签匹配
                matchLabels:
                  apps: v1 
      # 配置污点容忍
      tolerations:
      - key: school
        operator: Exists
      - key: class
        effect: NoSchedule
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: v1
        image: harbor.baimei.com/baimei-apps/apps:v1

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章