これは未公開の文書です SUSE® Virtual Clusters v1.2.0 (Dev).

SUSE仮想クラスターにおけるGPUリソースの制限

このガイドでは、ポリシーの概念SUSE Virtual Clustersを使用して、テナント内でGPUの制限を定義する方法を説明します。

これは`shared`モードにのみ適用されます。

VirtualClusterPolicyを作成する

まず、YAMLファイル(例えば、gpu-policy.yaml)で`VirtualClusterPolicy`を定義し、それをクラスターに適用します。

apiVersion: k3k.io/v1beta1
kind: VirtualClusterPolicy
metadata:
  name: quota-policy
spec:
  quota:
    hard:
      requests.nvidia.com/gpu: 4

kubectlを使用してポリシーを適用します:

kubectl apply -f gpu-policy.yaml

このポリシーでは、4つのGPUの消費が許可されます。

ポリシーをテナントに適用する

希望するネームスペースに注釈を付けてポリシーを適用します:

kubectl label namespace <namespace-name> policy.k3k.io/policy-name="quota-policy"

ネームスペース内にリソースクォータが自動的に作成されます。

GPU消費の追跡

仮想クラスター(共有モード)内でGPUワークロードが作成されると、割り当てられたGPUリソースの1つを消費します。

`quota`コマンドを使用して消費を追跡できます:

kubectl get quota -n testgpu
NAME               REQUEST                        LIMIT   AGE
k3k-quota-policy   requests.nvidia.com/gpu: 0/4           4s

制限に達し、ユーザーがGPUを消費する新しいポッドをデプロイしようとすると、ポッドは次のステータスで`Pending`状態のままになります。

Warning  ProviderCreateFailed  1s    ubuntu/pod-controller  pods "cuda-vectoradd-default-sharedclustergpu-637564612d7665637-865e4" is forbidden: exceeded quota: k3k-quota-policy, requested: requests.nvidia.com/gpu=1, used: requests.nvidia.com/gpu=4, limited: requests.nvidia.com/gpu=4