ノート:

OCIスタックを使用したベア・メタルGPUノードの自己管理ノードとしてのOKEへの移行

イントロダクション

このチュートリアルでは、Oracle Cloud Infrastructure (OCI)スタックを使用して、ベア・メタル(BM) GPUノードをOracle Cloud Infrastructure Kubernetes Engine (OKE)自己管理ノードに移行するプロセスを順を追って説明します。

まず、自己管理ノードとは何か、およびそれがOKEでGPUを実行するのに最適な理由を理解しましょう。

OKE自己管理ノードとは何ですか。

名前が示すように、自己管理ノードは顧客によって完全に制御および保守されます。これには、プロビジョニング、スケーリング、構成、アップグレード、およびオペレーティング・システム(OS)のパッチ適用やノードの交換などのメンテナンス・タスクが含まれます。このアプローチでは、より手動での管理が必要になりますが、最大限の柔軟性と制御性を提供し、GPUで実行されているような特殊なワークロードに適しています。

自己管理ノードの主な機能:

このチュートリアルでは、BM A100 GPUワークロードがOCIのSlurmクラスタで現在実行されており、OKEクラスタに移行することを目的としたユースケースについて説明します。これを実現するには、High Performance Computing (HPC) OKEスタックを使用して空のOKEクラスタをデプロイし、既存のGPUノードを追加します。

目的

前提条件

タスク1: HPC OKEスタックを使用したBM A100 GPUノードのOKEへの移行

  1. OCIコンソールにログインし、このGitHubページの説明に従って必要なポリシーを作成します: OKEでのRDMA (リモート・ダイレクト・メモリー・アクセス) GPUワークロードの実行

  2. 「Oracle Cloudにデプロイ」をクリックし、条件を確認します。

    Github Page

  3. スタックをデプロイするリージョンを選択します。

  4. 「スタック情報」ページで、スタックの「名前」を入力します。

    スタックの作成

  5. 「変数の構成」ページで、VCNの「名前」を入力します。

    名前の指定

  6. 「要塞および演算子」セクションで、要塞インスタンスの情報を入力し、要塞インスタンスのSSHキーを追加します。

    VCNと要塞の提供

  7. (オプション)「オペレータ・シェイプの構成」を選択して、ジョブを監視または実行するためのオペレータ・ノードを作成します。

    オペレータ・シェイプ

  8. OKEクラスタワーカー: 操作ノードおよびワーカー: GPU + RDMAノードの変数を構成します。ポッド・ネットワーキングに使用する「Flannel」 CNIを選択してください。

    OKEクラスタ構成を指定します

    操作用のワーカー・ノード

    RDMA GPUのワーカー・ノード

  9. 「ローカルNVMeドライブを使用したRAID 0アレイの作成」および「ノード問題検出機能およびKube Prometheusスタックのインストール」を選択します。

    ストレージの作成

  10. スタック情報を確認し、「作成」をクリックします。

    作成をクリックする前にレビュー

  11. リソース・マネージャスタックの詳細を確認し、OCIコンソールの「Kubernetes」セクションでOKEクラスタを確認します。

    スタックの詳細の確認

    実行中のOKEクラスタ

  12. OCIコンソールからアクセス・クラスタを使用してOKEクラスタにログインし、新しいGPUノードの追加に進みます。

  13. ここで説明するすべてのステップ(自己管理ノードの動的グループおよびポリシーの作成)に従います。

  14. 「自己管理ノード用のCloud-initスクリプトの作成」のステップ1およびステップ2に従います。

  15. 次のスクリプトを実行して、GPUノードをOKEクラスタに追加します。

    sudo rm archive_uri-https_objectstorage_ap-osaka-1_oraclecloud_com_p_ltn5w_61bxynnhz4j9g2drkdic3mwpn7vqce4gznmjwqqzdqjamehhuogyuld5ht_n_hpc_limited_availability_b_oke_node_repo_o_ubuntu-jammy.list
    
    sudo apt install -y oci-oke-node-all*
    
    sudo oke bootstrap --apiserver-host <API SERVER IP> --ca <CA CERT> --manage-gpu-services --crio-extra-args "
    
  16. 次のコマンドを実行して、ノードが OKEクラスタに正常に追加されたことを確認します。

    kubectl get nodes
    

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。