日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

NVIDIA DeepOps 自動導入で Kubernetes クラスタを導入

寄稿者 このページの PDF をダウンロード

NVIDIA DeepOps で Kubernetes クラスタを導入して設定するには、次の手順を実行します。

  1. Kubernetes のすべてのマスターノードとワーカーノードに同じユーザアカウントが存在することを確認します。

  2. DeepOps リポジトリのクローンを作成します。

    git clone https://github.com/NVIDIA/deepops.git
  3. 最新のリリースタグをチェックしてください。

    cd deepops
    git checkout tags/20.08

    この手順をスキップすると、公式リリースではなく、最新の開発コードが使用されます。

  4. 必要な前提条件をインストールして、 Deployment Jump を準備します。

    ./scripts/setup.sh
  5. VI エディタを開いて Ansible インベントリを作成および編集し、「 eppops/config/inventory 」を開きます。

    1. [ すべて ] の下にすべてのマスターノードとワーカーノードを一覧表示します。

    2. [kube-master] の下にあるすべてのマスターノードを一覧表示します。

    3. [etcd] の下にあるすべてのマスターノードを一覧表示します。

    4. [kube-node] の下にあるすべてのワーカーノードを一覧表示します。

      エラー:グラフィックイメージがありません

  6. VI エディタを開いて '`epps/config/group_vars/k8s-cluster.yml` に GPUOperator を有効にします

    エラー:グラフィックイメージがありません

  7. 「 deepops_gpu_operator_enabled 」の値を true に設定します。

  8. 権限とネットワーク設定を確認します。

    ansible all -m raw -a "hostname" -k -K
    • リモートホストへの SSH でパスワードが必要な場合は、 -K を使用します

    • リモートホストの sudo でパスワードが必要な場合は、 -K を使用します

  9. 問題なく前の手順に合格した場合は、 Kubernetes のセットアップを続行します。

    ansible-playbook --limit k8s-cluster playbooks/k8s-cluster.yml -k -K
  10. Kubernetes ノードとポッドのステータスを確認するには、次のコマンドを実行します。

    kubectl get nodes

    エラー:グラフィックイメージがありません

    kubectl get pods -A

    すべてのポッドが実行されるまでに数分かかる場合があります。

    エラー:グラフィックイメージがありません

  11. Kubernetes セットアップが GPU にアクセスして使用できることを確認します。

    ./scripts/k8s_verify_gpu.sh

    想定される出力例:

    rarvind@deployment-jump:~/deepops$ ./scripts/k8s_verify_gpu.sh
    job_name=cluster-gpu-tests
    Node found with 3 GPUs
    Node found with 3 GPUs
    total_gpus=6
    Creating/Deleting sandbox Namespace
    updating test yml
    downloading containers ...
    job.batch/cluster-gpu-tests condition met
    executing ...
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Mon Aug 17 16:02:45 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:18:00.0 Off |                    0 |
    | N/A   38C    P8    10W /  70W |      0MiB / 15109MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    Number of Nodes: 2
    Number of GPUs: 6
    6 / 6 GPU Jobs COMPLETED
    job.batch "cluster-gpu-tests" deleted
    namespace "cluster-gpu-verify" deleted
  12. デプロイメントジャンプに Helm をインストールします。

    ./scripts/install_helm.sh
  13. マスターノードの汚染を除去します。

    kubectl taint nodes --all node-role.kubernetes.io/master-

    この手順は、ロードバランサポッドを実行するために必要です。

  14. LoadBalancer を展開します。

  15. 'config/helm/metallb.yml` ファイルを編集し、ロードバランサとして使用される「アプリケーションネットワーク」の IP アドレスの範囲を提供します。

    ---
    # Default address range matches private network for the virtual cluster
    # defined in virtual/.
    # You should set this address range based on your site's infrastructure.
    configInline:
      address-pools:
      - name: default
        protocol: layer2
        addresses:
        - 172.21.231.130-172.21.231.140#Application Network
    controller:
      nodeSelector:
        node-role.kubernetes.io/master: ""
  16. ロードバランサを導入するスクリプトを実行します。

    ./scripts/k8s_deploy_loadbalancer.sh
  17. 入力コントローラを配置します。

    ./scripts/k8s_deploy_ingress.sh