Maximo Application Suite Gestionado por el cliente

Personalización de la afinidad de carga de trabajo

Como administrador, puede personalizar y mejorar el control del proceso de planificación de pods. Puede restringir un pod para que esté restringido o preferido para ejecutarse en nodos concretos.

Acerca de esta tarea

Puede restringir o preferir que los pods se ejecuten en nodos específicos utilizando métodos nodeAffinity, podAffinityo podAntiAffinity . Para obtener más información, consulte Asignación de pods a nodos.

Procedimiento

  1. En la consola web de Red Hat® OpenShift®, en el menú de navegación lateral, haga clic en Administration > CustomResourceDefinitions y localice el recurso personalizado que desea personalizar.
  2. Pulse Instancias y abra la instancia del recurso personalizado en el que desea trabajar.
  3. Pulse la pestaña YAML para abrir el editor.
  4. Si el campo podTemplates no existe, añada el campo podTemplates dentro de la propiedad spec .
    Nota:
    • Para IBM® Maximo® Health, dentro de la propiedad spec , añada components, healthy, a continuación, el campo podTemplates .
    • Para la herramienta IoT, dentro de la propiedad spec , añada la sección components . En la sección components , añada todos los nombres de componente y, a continuación, el campo podTemplates . Por ejemplo:
      spec:
       components:
        actions: # actions is the IoT component name
         podTemplates: {} # templates for the actions component operator
  5. Añada o cambie la entrada de pod de acuerdo con sus requisitos.
    Por ejemplo, en el siguiente código de ejemplo, admin-dashboard es la entrada de pod que se edita.
  6. Añada el campo affinity dentro del cual puede añadir nodeAffinity, podAffnitiyy podAntiAffinity de acuerdo con sus requisitos.
    kind: Suite
    apiVersion: core.mas.ibm.com/v1
    metadata:
      name: inst1
      namespace: mas-inst1-core
      labels:
        mas.ibm.com/instanceId: inst1
    spec:
      podTemplates:
        - name: admin-dashboard
          affinity:
            nodeAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
                - weight: 1
                  preference:
                    matchExpressions:
                      - key: runtimeType
                        operator: In
                        values:
                          - frontend
            podAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                - labelSelector:
                    matchExpressions:
                      - key: security
                        operator: In
                        values:
                          - S1
                  topologyKey: topology.kubernetes.io/zone
            podAntiAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
                - weight: 100
                  podAffinityTerm:
                    labelSelector:
                      matchExpressions:
                        - key: security
                          operator: In
                          values:
                            - S2
                      topologyKey: topology.kubernetes.io/zone
    
  7. Pulse Guardar. Espere a que el operador concilie y aplique los cambios.