# tidb, tikv, 以及 go-tpc 负载节点处于相同 podgroup cluster-1 上, 且设置了排他性, 因此只运行这些组件混布在相同节点上.
generateName: testbed-
items:
  - name: tc
    type: TIDB_CLUSTER
    spec:
      # 如果使用一个具体的版本, 例如 v5.0.1 而不是 nightly, master 等, 通过设置 IfNotPresent 可以加速创建速度
      imagePullPolicy: IfNotPresent
      version: v5.0.1
      pd:
        replicas: 1
        baseImage: 'hub.pingcap.net/qa/pd'
        config: |
          [replication]
          location-labels = [ "zone", "host" ]
      tidb:
        replicas: 3
        baseImage: 'hub.pingcap.net/qa/tidb'
        requests:
          cpu: 4000m
          memory: 8Gi
        limits:
          cpu: 4000m
          memory: 8Gi
        topologySpreadConstraints:
          - topologyKey: zone
      tikv:
        replicas: 6
        baseImage: 'hub.pingcap.net/qa/tikv'
        requests:
          cpu: 4000m
          memory: 8Gi
        limits:
          cpu: 4000m
          memory: 8Gi
        topologySpreadConstraints:
          - topologyKey: zone
    qos:
      tidb:
        # tidb 只允许和 podgroup 同为 cluster-1 的 pod 混布在相同节点上
        podGroup: cluster-1
        exclusive: true
      tikv:
        # tikv 只允许和 podgroup 同为 cluster-1 的 pod 混布在相同节点上
        podGroup: cluster-1
        exclusive: true
  - name: br
    type: BR_NODE
    spec:
      image: 'docker.io/pingcap/br:v5.0.1'
  - name: go-tpc-workload
    type: WORKLOAD_NODE
    spec:
      container:
        name: go-tpc
        image: 'hub.pingcap.net/qa/go-tpc:v1.0.7'
        command:
          - tail
          - '-f'
          - /dev/null
        resources:
          requests:
            memory: 64Mi
            cpu: 1000m
    qos:
      # go-tpc 只允许和 podgroup 同为 cluster-1 的 pod 混布在相同节点上
      podGroup: cluster-1
      exclusive: true
qos:
  # 声明了一个 podgroup cluster-1, 用于隔离其他 podgroup 或非 podgroup 的 pod.
  - podGroup: cluster-1
