--- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: kube-scheduler namespace: kube-system labels: tier: control-plane component: kube-scheduler spec: replicas: 2 template: metadata: labels: tier: control-plane component: kube-scheduler annotations: scheduler.alpha.kubernetes.io/critical-pod: '' spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: tier operator: In values: - control-plane - key: component operator: In values: - kube-scheduler topologyKey: kubernetes.io/hostname containers: - name: kube-scheduler image: quay.io/coreos/hyperkube:v1.6.2_coreos.0 command: - ./hyperkube - scheduler - --leader-elect=true livenessProbe: httpGet: path: /healthz port: 10251 # Note: Using default port. Update if --port option is set differently. initialDelaySeconds: 15 timeoutSeconds: 15 nodeSelector: node-role.kubernetes.io/master: "" tolerations: - key: CriticalAddonsOnly operator: Exists - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule