apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  name: test-infra:kube-scheduler
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: view
subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: system:kube-scheduler
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: test-infra-scheduler-config
  namespace: kube-system
data:
  scheduler-config.yaml: |
    apiVersion: kubescheduler.config.k8s.io/v1beta1
    clientConnection:
      kubeconfig: "/etc/kubernetes/scheduler.conf"
    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: test-infra-scheduler
  namespace: kube-system
  labels:
    component: test-infra-scheduler
spec:
  replicas: 1
  selector:
    matchLabels:
      component: test-infra-scheduler
  template:
    metadata:
      labels:
        component: test-infra-scheduler
    spec:
      priorityClassName: system-cluster-critical
      volumes:
        - name: scheduler-config
          configMap:
            name: test-infra-scheduler-config
        - hostPath:
            path: /etc/kubernetes/scheduler.conf``
            type: File
          name: kubeconfig
      nodeSelector:
        kubernetes.io/hostname: 172.16.4.67
      containers:
        - name: test-infra-scheduler
          image: hub.pingcap.net/qa/test-infra-scheduler:v20220317-1.19.16
          imagePullPolicy: IfNotPresent
          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: "200m"
          volumeMounts:
            - name: scheduler-config
              mountPath: /etc/kubernetes/scheduler-config.yaml
              subPath: scheduler-config.yaml
            - name: kubeconfig
              mountPath: /etc/kubernetes/scheduler.conf
              readOnly: true
