Конфигурация kube-scheduler
Конфигурация kube-scheduler
Добавьте метки на узлы
kubectl label node <nodename> topology.kubernetes.io/zone=A
Создайте глобальные topology spread constraints для приложений
apiVersion: v1
kind: ConfigMap
metadata:
name: cozystack-scheduling
namespace: cozy-system
data:
globalAppTopologySpreadConstraints: |
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
Настройте PodTopologySpread
Для установки через Talm добавьте в templates/_helpers.tpl:
cluster:
...
scheduler:
config:
apiVersion: kubescheduler.config.k8s.io/v1beta3
kind: KubeSchedulerConfiguration
profiles:
- schedulerName: default-scheduler
pluginConfig:
- name: PodTopologySpread
args:
defaultConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
defaultingType: List
Примените изменения:
talm template -f nodes/node1.yaml -I
talm apply -f nodes/node1.yaml