Kubernetes приоритет узлов для подов

Цель, мы имеем 2 зоны в разных ДЦ и внутри каждой зоны 1 сервер для своих нужд и второй для партнёров

Для начала надо сделать разметку узлов

$ kubectl label node node1.k8s availability-zone=zone1
node "node1.k8s" labeled
$ kubectl label node node1.k8s share-type=dedicated
node "node1.k8s" labeled
$ kubectl label node node2.k8s availability-zone=zone2
node "node2.k8s" labeled
$ kubectl label node node2.k8s share-type=shared
node "node2.k8s" labeled
$ kubectl get node -L availability-zone -L share-type
NAME    STATUS AGE VERSION AVAILABILITY-ZONE SHARE-TYPE
master.k8s Ready 4d v1.6.4 <none> <none>
node1.k8s Ready 4d v1.6.4 zone1 dedicated
node2.k8s Ready 4d v1.6.4 zone2  shared

Теперь можно указывать приоритет, при создании ресурса

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: pref
spec:
  replicas: 5
  template:
    metadata:
      labels:
        app: pref
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 80
            preference:
              matchExpressions:
              - key: availability-zone
                operator: In
                values:
                - zone1
          - weight: 20
            preference:
              matchExpressions:
              - key: share-type
                operator: In
                values:
                - dedicated
      containers:
      - args:
        - sleep
        - "99999"
        image: busybox
        name: main

 

K8S

Related Articles

0 Comment

Leave a Comment

Ваш адрес email не будет опубликован.