apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    component: scheduler
    tier: control-plane
  name: topo-aware-scheduler
  namespace: kube-system
spec:
  selector:
    matchLabels:
      component: scheduler
      tier: control-plane
  replicas: 1
  template:
    metadata:
      labels:
        component: scheduler
        tier: control-plane
        version: second
    spec:
      nodeSelector:
        node-role.kubernetes.io/master: ""
      serviceAccountName: topo-aware-scheduler
      containers:
        - image: localhost:5000/scheduler-plugins/kube-scheduler:latest
          imagePullPolicy: Never
          command:
          - /bin/kube-scheduler
          - --scheduler-name=topo-aware-scheduler
          - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
          - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
          - --config=/etc/kubernetes/scheduler-config/scheduler-config.yaml
          name: scheduler
          securityContext:
            privileged: false
          volumeMounts:
          - mountPath: /etc/kubernetes/scheduler.conf
            name: kubeconfig
          - mountPath: /etc/kubernetes/scheduler-config
            name: topo-aware-scheduler-config-vol
      hostNetwork: false
      hostPID: false
      volumes:
      - hostPath:
          path: /etc/kubernetes/scheduler.conf
          type: File
        name: kubeconfig
      - configMap:
          name: topo-aware-scheduler-config
        name: topo-aware-scheduler-config-vol
