Цель, мы имеем 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
0 Comment