Maximo Application Suite お客様管理

AWS 上の Red Hat OpenShift クラスター への GPU ワーカー・ノードの追加

始める前に

以下の要件があることを確認してください。

  • GPU ワーカーノードがRed Hat® OpenShift®クラスターに追加されます。. 現在のAWS Maximo® Application SuiteBYOL製品には、GPUを搭載したノードは含まれていません。
  • 制御シェル。

    制御シェルはブート・ノードにすることができます。 すべてのインスタンスのリストの後にある EC2 ダッシュボードでコントロール・シェルを見つけます。 ブート・ノードが停止状態の場合は、インスタンスを再始動します。 このインスタンスに EC2-userとして接続します。
    ヒント: Visual Studio Code を使用してブート・ノードにリモート接続できますが、これは必要ありません。
    oc jq
  • 適切な EC2 GPU インスタンスが選択されており、 Maximo Application Suite インスタンスがインストールされている地域で十分な可用性があります。

    この情報は、 AWS コンソールの EC2 サービスの後にあるインスタンス・タイプ・ページから取得します。

    例えば、 Maximo Application Suite インスタンスを us-east-1 領域にデプロイした場合は、 AWS Web サイトにナビゲートして、その領域の EC2 インスタンス・タイプ・ページに移動します。 「インスタンス・タイプ」ページには、コンピュート、ネットワーキング、ストレージ、アクセラレーター、および料金情報の詳細が表示されます。 ネットワーキング・セクションは、アベイラビリティー・ゾーンの詳細を示します。

このタスクについて

このタスクのプロセスについて詳しくは、以下を参照してください。

手順

  1. 制御シェルで、 masocpuser (または kubeadmin) としてログインします。
  2. openshift-machine-api 名前空間に切り替えます。
    
    oc project openshift-machine-api
    
    注:

    名前空間が切り替えられていない場合は、 -n フラグを使用し、後続のステップで openshift-machine-api を引数として指定します。

  3. クラスター内の使用可能なマシンをリストします。
    
    oc get machineset -o name
    
  4. 新しい GPU ワーカー・ノードの YAML カスタム・リソースのテンプレートとして適切なマシン・セットを選択します。 新規ノードの作成に使用する GPU EC2 インスタンス・タイプと同じアベイラビリティー・ゾーンにあるマシン・セットを選択します。
    例えば、 p3.2xlargeus-east-1bで使用可能な場合、名前の一部として us-east-1b を持つマシン・セットを選択します。
  5. テンプレート・マシン・セット名に変数を割り当てます。
    例えば、
    
    SOURCE_MACHINESET=machine set.machine.openshift.io/masocp-4kyowr-mm5b5-worker-us-east-1b
    
  6. ソース・マシン・セットのカスタム・リソースを新規ファイルにコピーします。
    
    oc get -o json  $SOURCE_MACHINESET  | jq -r > source-machineset.json
    
    注: ファイル source-machineset.json は現行フォルダーに作成されます。
  7. 後で使用する変数を定義します。
    
    OLD_MACHINESET_NAME=$(jq '.metadata.name' -r source-machineset.json)
    
    
    NEW_MACHINESET_NAME=${OLD_MACHINESET_NAME/worker/worker-gpu}
    
  8. instanceType を変更し、必要に応じてレプリカの数を変更します。 一部のメタデータを削除し、結果のコードを新規ファイル gpu-machineset.jsonにコピーします。 このファイルは、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. gpu-machineset.jsonでマシン・セット名を変更します。
    
    sed -i "s/$OLD_MACHINESET_NAME/$NEW_MACHINESET_NAME/g" gpu-machineset.json
    
  10. diff コマンドを実行して、変更を確認します。
    
    diff -Nuar source-machineset.json gpu-machineset.json
    

    詳しくは、 Install & use GPU on AWSを参照してください。

  11. availabilityZone の値を確認します ( spec.template.spec.providerSpec.value.placementの下にあります)。 新しいインスタンス・タイプ (p3.2xlarge) の可用性ゾーンが同じであることを確認してください。そうでない場合は、JSON ファイルから availability キーと値のペアを省略できます。 そうでない場合は、マシン・セットの作成後にエラーが表示されます。 詳しくは、このタスクの最後にあるトラブルシューティングのセクションを参照してください。
  12. マシン・セットを作成します。
    
    oc create -f gpu-machineset.json
    
    出力例
  13. マシン・セットが作成されたことを確認します。
    
    oc get machineset
    
    出力例
    注: 出力には、新しい GPU ノードが作成されたが、まだ準備ができておらず、使用可能になっていないことが示されています。
    1. 状況を表示するマシンのリストを取得します。
      
      oc get machine
      
      出力例

      マシン・セットのプロビジョニングが完了すると、 oc get machineset の出力は以下の例のようになります。

      出力例
    2. oc get machine コマンドを実行します。 出力には、マシンがプロビジョンされたことが示されます。
      出力例
      注: 「コンピュート」 > 「ノード」 をクリックするか、 「コンピュート」 > 「マシン・セット」をクリックして、 Red Hat OpenShift コンソールを確認することもできます。

次の作業

プロセスが正常に完了したこと、またはエラーが発生したことを確認するには、 openshift-machine-api 名前空間でコマンドを実行してください。

次に、コマンド oc create -f <machine set custom resource> を実行します (ステップ 12)。 出力は常に、マシンが作成されたことを示します。 ただし、マシンの作成中に障害が発生した場合、マシン・セットは準備ができておらず、使用できません。 oc get machine を実行すると、即時に障害を示すことができます。

oc get machine コマンドを実行します。 出力には、マシンがプロビジョンされたことが示されます。

出力例
失敗の理由を確認するには、 oc describe machine <machine name> または oc describe machineset <machineset name> を実行し、 「状況」 または 「イベント」の後にリストされているエラー・メッセージを確認します。
この場合、マシン・セットを削除できます。
 oc delete machineset <machineset name> 

カスタム・リソースの availabilityZone 値を編集して、 oc create -f <customresource.json>を再実行します。 ステップ 13にリストされているコマンドを使用して、マシン・セットおよびマシンの作成をモニターします。 その他のタイプのエラーの場合は、マシン・セットを削除し、カスタム・リソースを編集し、編集したカスタム・リソース JSON ファイルを使用してマシン・セットを再作成します。