apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scheduler-test
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: default
    namespace: kube-system
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: scheduler-conf
  namespace: kube-system
data:
  scheduler-config.yaml: |
    apiVersion: kubescheduler.config.k8s.io/v1beta1
    kind: KubeSchedulerConfiguration
    leaderElection:
      leaderElect: false
    profiles:
    - schedulerName: test-infra-scheduler
      plugins:
        queueSort:
          enabled:
            - name: test-infra-scheduler
          disabled:
            - name: "*"
        filter:
          enabled:
            - name: test-infra-scheduler
        postFilter:
          enabled:
            - name: test-infra-scheduler
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-scheduler
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test-infra-scheduler
  template:
    metadata:
      labels:
        app: test-infra-scheduler
    spec:
      containers:
        - image: hub.pingcap.net/qa/test-infra-scheduler:latest-amd64
          name: kube-scheduler
          imagePullPolicy: Never
          command:
            - /apps/scheduler
            - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
            - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
            - --config=/etc/kubernetes/scheduler-config.yaml
            - --bind-address=127.0.0.1
            - --kubeconfig=/etc/kubernetes/scheduler.conf
            - --leader-elect=false
            - --port=0
            - --v=3
          resources:
            requests:
              cpu: "100m"
          volumeMounts:
            - name: scheduler-conf
              mountPath: /etc/kubernetes/scheduler-config.yaml
              subPath: scheduler-config.yaml
            - name: kubeconfig
              mountPath: /etc/kubernetes/scheduler.conf
              readOnly: true
      volumes:
        - name: scheduler-conf
          configMap:
            name: scheduler-conf
        - hostPath:
            path: /etc/kubernetes/scheduler.conf
            type: File
          name: kubeconfig
