Maximo Application Suite Customer - gestito

Aggiunta di un nodo di lavoro GPU a un cluster Red Hat OpenShift su AWS

Prima di iniziare

Assicurarsi di avere i requisiti seguenti:

  • Al clusterRed Hat® OpenShift® viene aggiunto un nodo worker GPU. . Le attuali offerte BYOL di AWS Maximo® Application Suite non includono nodi con GPU.
  • Una shell di controllo.

    La shell di controllo può essere il nodo di boot. Individua la shell di controllo nel dashboard EC2 dopo l'elenco di tutte le istanze. Se il nodo di avvio è in uno stato di arresto, riavviare l'istanza. Collegarsi a questa istanza come EC2-user.
    Suggerimento: è possibile utilizzare Visual Studio Code per connettersi in remoto al nodo di avvio, ma non è necessario.
    oc jq
  • L'istanza GPU EC2 appropriata è selezionata e ha una disponibilità sufficiente nella regione in cui è installata l'istanza Maximo Application Suite .

    Ottieni tali informazioni dalla pagina del tipo di istanza ubicata dopo il servizio EC2 nella console AWS .

    Ad esempio, se è stata distribuita l'istanza Maximo Application Suite nella region us-east-1 , andare alla pagina del tipo di istanza EC2 per tale region passando al sito web AWS . La pagina del tipo di istanza descrive in dettaglio le informazioni su calcolo, rete, archiviazione, acceleratori e prezzi. La sezione di rete descrive in dettaglio le zone di disponibilità.

Informazioni su questa attività

Per ulteriori informazioni sui processi in questa attività, consultare:

Procedura

  1. Nella shell di controllo, accedere come masocpuser (o kubeadmin).
  2. Switch allo spazio dei nomi openshift-machine-api .
    
    oc project openshift-machine-api
    
    Nota:

    Se lo spazio dei nomi non è commutato, utilizzare l'indicatore -n e fornire openshift-machine-api come argomento nei passi successivi.

  3. Elenco dei macchinisti disponibili nel cluster.
    
    oc get machineset -o name
    
  4. Seleziona una macchina appropriata impostata come modello per la risorsa personalizzata YAML del nuovo nodo di lavoro GPU. Scegli una serie di macchine che si trova nella stessa zona di disponibilità del tipo di istanza GPU EC2 da utilizzare per creare il nuovo nodo.
    Ad esempio, se p3.2xlarge è disponibile in us-east-1b, selezionare una serie di macchine che abbia us-east-1b come parte del nome.
  5. Assegnare una variabile per il nome della macchina modello.
    Ad esempio:
    
    SOURCE_MACHINESET=machine set.machine.openshift.io/masocp-4kyowr-mm5b5-worker-us-east-1b
    
  6. Copia la risorsa personalizzata del set della macchina di origine in un nuovo file.
    
    oc get -o json  $SOURCE_MACHINESET  | jq -r > source-machineset.json
    
    Nota: Il file source-machineset.json viene creato nella cartella corrente.
  7. Definire le variabili da utilizzare per in seguito.
    
    OLD_MACHINESET_NAME=$(jq '.metadata.name' -r source-machineset.json)
    
    
    NEW_MACHINESET_NAME=${OLD_MACHINESET_NAME/worker/worker-gpu}
    
  8. Modificare instanceType e, se necessario, modificare il numero di repliche. Eliminare alcuni metadati e copiare il codice risultante in un nuovo file gpu-machineset.json. Questo file viene utilizzato per creare la nuova serie di macchine con 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. Modificare il nome della serie di macchine in gpu-machineset.json.
    
    sed -i "s/$OLD_MACHINESET_NAME/$NEW_MACHINESET_NAME/g" gpu-machineset.json
    
  10. Eseguire il comando diff per verificare le modifiche.
    
    diff -Nuar source-machineset.json gpu-machineset.json
    

    Per ulteriori informazioni, vedi Install & use GPU on AWS.

  11. Controllare il valore per availabilityZone (trovato sotto spec.template.spec.providerSpec.value.placement). Assicurarsi che il nuovo tipo di istanza (p3.2xlarge) abbia la stessa zona di disponibilità oppure è possibile omesso la coppia di valori chiave availability dal file JSON. In caso contrario, viene visualizzato un errore dopo aver creato la serie di macchine. Per ulteriori informazioni, consultare la sezione sulla risoluzione dei problemi alla fine di questa attività.
  12. Creare una serie di macchine:
    
    oc create -f gpu-machineset.json
    
    Output di esempio
  13. Verificare che la serie di macchine sia creata.
    
    oc get machineset
    
    Output di esempio
    Nota: l'output mostra che il nuovo nodo GPU è stato creato ma non è ancora pronto e disponibile.
    1. Ottenere un elenco di macchine per visualizzare lo stato:
      
      oc get machine
      
      Output di esempio

      Quando la serie di macchine ha terminato il provisioning, l'output per oc get machineset è simile al seguente esempio:

      Output di esempio
    2. Eseguire il comando oc get machine . L'output indica che il provisioning della macchina è:
      Output di esempio
      Nota: puoi anche controllare la console Red Hat OpenShift , facendo clic su Compute > Nodi o su Compute > Machinesets.

Operazioni successive

Per verificare che il processo sia stato completato correttamente o nelle istanze in cui si verificano degli errori, assicurati di eseguire i comandi nello spazio dei nomi openshift-machine-api .

Quindi, eseguire il comando oc create -f <machine set custom resource> (Passo 12). L'output indica sempre che la macchina è stata creata. Tuttavia, se si verifica un malfunzionamento nella creazione della macchina, la serie di macchine non è pronta e disponibile. L'esecuzione oc get machine può indicare immediatamente il guasto:

Eseguire il comando oc get machine. L'output indica che è stato eseguito il provisioning della macchina:

Output di esempio
Per visualizzare il motivo dell'errore, eseguire oc describe machine <machine name> o oc describe machineset <machineset name> e controllare il messaggio di errore elencato dopo Stato o Eventi:
In questo caso, è possibile eliminare la serie di macchine:
 oc delete machineset <machineset name> 

Modificare il valore availabilityZone nella risorsa personalizzata e rieseguire oc create -f <customresource.json>. Monitorare la creazione della serie di macchine e delle macchine utilizzando i comandi elencati al passo 13. Per eventuali altri tipi di errori, eliminare la serie di macchine, modificare la risorsa personalizzata e ricreare la serie di macchine utilizzando il file JSON della risorsa personalizzata modificato.