2.7.5. 设置专用节点并在节点上调度 pod

先决条件

  • OpenShift 集群
  • 一个正在运行的 Cluster Operator

流程

  1. 选择应当用作专用的节点。
  2. 确保这些节点上未调度工作负载。
  3. 在所选节点上设置污点:

    可以使用 oc adm taint 来完成此操作:

    oc adm taint node NAME-OF-NODE dedicated=Kafka:NoSchedule
  4. 另外,也向所选节点添加标签。

    可以使用 oc label 来完成此操作:

    oc label node NAME-OF-NODE dedicated=Kafka
  5. 编辑 指定集群部署的资源中的关联性容限 属性。

    例如:

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    spec:
      kafka:
        # ...
        template:
          pod:
            tolerations:
              - key: "dedicated"
                operator: "Equal"
                value: "Kafka"
                effect: "NoSchedule"
            affinity:
              nodeAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  nodeSelectorTerms:
                  - matchExpressions:
                    - key: dedicated
                      operator: In
                      values:
                      - Kafka
        # ...
      zookeeper:
        # ...
  6. 创建或更新资源。

    这可以使用 oc apply 来完成:

    oc apply -f KAFKA-CONFIG-FILE