Maximo Application Suite Gestionado por el cliente

Adición de un nodo trabajador de GPU a un clúster de Red Hat OpenShift en AWS

Antes de empezar

Asegúrese de que tiene los siguientes requisitos:

  • Se añade un nodo trabajador GPU al clústerRed Hat® OpenShift®. . Las ofertas BYOL actuales de AWS Maximo® Application Suite no incluyen nodos con GPU.
  • Un shell de control.

    El shell de control puede ser el nodo de arranque. Localice el shell de control en el panel de control EC2 después de la lista de todas las instancias. Si el nodo de arranque está en un estado detenido, reinicie la instancia. Conéctese a esta instancia como EC2-user.
    Sugerencia: Puede utilizar Visual Studio Code para conectarse de forma remota al nodo de arranque, pero no es necesario.
    oc jq
  • La instancia de GPU EC2 adecuada está seleccionada y tiene suficiente disponibilidad en la región donde está instalada la instancia de Maximo Application Suite .

    Obtenga esta información de la página de tipo de instancia que se encuentra después del servicio EC2 en la consola AWS .

    Por ejemplo, si ha desplegado la instancia de Maximo Application Suite en la región us-east-1 , vaya a la página de tipo de instancia EC2 para dicha región navegando al sitio web AWS . La página de tipo de instancia detalla la información de cálculo, red, almacenamiento, aceleradores y precios. La sección de red detalla las zonas de disponibilidad.

Acerca de esta tarea

Para obtener más información sobre los procesos de esta tarea, consulte:

Procedimiento

  1. En el shell de control, inicie sesión como masocpuser (o kubeadmin).
  2. Cambie al espacio de nombres openshift-machine-api .
    
    oc project openshift-machine-api
    
    Nota:

    Si el espacio de nombres no está conmutado, utilice el distintivo -n y proporcione openshift-machine-api como argumento en los pasos siguientes.

  3. Listar las máquinas disponibles en el clúster.
    
    oc get machineset -o name
    
  4. Seleccione un conjunto de máquinas adecuado como plantilla para el recurso personalizado YAML del nuevo nodo trabajador de GPU. Elija un conjunto de máquinas que se encuentre en la misma zona de disponibilidad que el tipo de instancia EC2 de GPU que se utilizará para crear el nuevo nodo.
    Por ejemplo, si p3.2xlarge está disponible en us-east-1b, elija un conjunto de máquinas que tenga us-east-1b como parte de su nombre.
  5. Asigne una variable para el nombre de conjunto de máquinas de plantilla.
    Por ejemplo:
    
    SOURCE_MACHINESET=machine set.machine.openshift.io/masocp-4kyowr-mm5b5-worker-us-east-1b
    
  6. Copie el recurso personalizado del conjunto de máquinas de origen en un archivo nuevo.
    
    oc get -o json  $SOURCE_MACHINESET  | jq -r > source-machineset.json
    
    Nota: El archivo source-machineset.json se crea en la carpeta actual.
  7. Defina las variables que se van a utilizar para más adelante.
    
    OLD_MACHINESET_NAME=$(jq '.metadata.name' -r source-machineset.json)
    
    
    NEW_MACHINESET_NAME=${OLD_MACHINESET_NAME/worker/worker-gpu}
    
  8. Cambie el instanceType y, si es necesario, cambie el número de réplicas. Suprima algunos metadatos y copie el código resultante en un archivo nuevo gpu-machineset.json. Este archivo se utiliza para crear el nuevo conjunto de máquinas con la GPU.
    
    jq -r '.spec.template.spec.providerSpec.value.instanceType = "p3.2xlarge"
      | .spec.replicas = 1
      | del(.metadata.selfLink)
      | del(.metadata.uid)
      | del(.metadata.creationTimestamp)
      | del(.metadata.resourceVersion)
      ' source-machineset.json > gpu-machineset.json
    
  9. Cambie el nombre del conjunto de máquinas en gpu-machineset.json.
    
    sed -i "s/$OLD_MACHINESET_NAME/$NEW_MACHINESET_NAME/g" gpu-machineset.json
    
  10. Ejecute el mandato diff para comprobar los cambios.
    
    diff -Nuar source-machineset.json gpu-machineset.json
    

    Para obtener más información, consulte Instalar y utilizar GPU en AWS.

  11. Compruebe el valor de availabilityZone (que se encuentra en spec.template.spec.providerSpec.value.placement). Asegúrese de que el nuevo tipo de instancia (p3.2xlarge) tiene la misma zona de disponibilidad, o puede omitir el par de clave-valor availability del archivo JSON. Si no es así, se muestra un error después de crear el conjunto de máquinas. Para obtener más información, consulte la sección de resolución de problemas al final de esta tarea.
  12. Crear un conjunto de máquinas:
    
    oc create -f gpu-machineset.json
    
    Salida de ejemplo
  13. Verifique que se haya creado el conjunto de máquinas.
    
    oc get machineset
    
    Salida de ejemplo
    Nota: La salida muestra que el nuevo nodo GPU se ha creado pero aún no está preparado y disponible.
    1. Obtenga la lista de máquinas para mostrar el estado:
      
      oc get machine
      
      Salida de ejemplo

      Cuando se realiza el suministro del conjunto de máquinas, la salida para oc get machineset es similar al ejemplo siguiente:

      Salida de ejemplo
    2. Ejecute el mandato oc get machine . La salida indica que la máquina se ha suministrado:
      Salida de ejemplo
      Nota: También puede comprobar la consola de Red Hat OpenShift , pulsando Calcular > Nodos o pulse Calcular > Conjuntos de máquinas.

Qué hacer a continuación

Para verificar que el proceso se ha completado correctamente, o en instancias en las que se producen errores, asegúrese de ejecutar los mandatos en el espacio de nombres openshift-machine-api .

A continuación, ejecute el mandato oc create -f <machine set custom resource> (Paso 12). La salida siempre indica que se ha creado la máquina. Sin embargo, si hay un error en la creación de la máquina, el conjunto de máquinas no está preparado y disponible. La ejecución de oc get machine puede indicar inmediatamente la anomalía:

Ejecute el mandato oc get machine. La salida indica que la máquina se ha suministrado:

Salida de ejemplo
Para ver la razón de la anomalía, ejecute oc describe machine <machine name> o oc describe machineset <machineset name> y compruebe el mensaje de error que aparece después de Estado o Sucesos:
En este caso, puede suprimir el conjunto de máquinas:
 oc delete machineset <machineset name> 

Edite el valor availabilityZone en el recurso personalizado y vuelva a ejecutar oc create -f <customresource.json>. Supervise la creación del conjunto de máquinas y de las máquinas utilizando los mandatos que se listan en el paso 13. Para cualquier otro tipo de error, suprima el conjunto de máquinas, edite el recurso personalizado y vuelva a crear el conjunto de máquinas utilizando el archivo JSON de recursos personalizados editado.