2.15.3. Pod へのリソースクレームの追加
属性ベースの GPU 割り当てでは、Pod 内のコンテナーに対して特定のグラフィックスプロセッシングユニット (GPU) を要求できるようにするために、リソースクレームとリソースクレームテンプレートを使用します。リソースクレームは複数のコンテナーで使用できますが、リソースクレームテンプレートは 1 つのコンテナーでのみ使用できます。詳細は、関連情報 セクションの「デバイス属性を使用したデバイス割り当ての設定について」を参照してください。
次の手順の例では、特定の GPU を container0 に割り当てるリソースクレームテンプレートと、container1 と container2 間で GPU を共有するリソースクレームを作成します。
前提条件
- Dynamic Resource Allocation (DRA) ドライバーがインストールされている。DRA の詳細は、Dynamic Resource Allocation (Kubernetes ドキュメント) を参照してください。
- リソーススライスが作成されている。
- リソースクレームやリソースクレームテンプレートが作成されている。
clusterという名前のFeatureGateCR を編集して、クラスターに必要なテクノロジープレビュー機能を有効にした。FeatureGateCR の例apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: name: cluster spec: featureSet: TechPreviewNoUpgrade1 - 1
- 必要な機能を有効にします。警告
クラスターで
TechPreviewNoUpgrade機能セットを有効にすると、元に戻すことができず、マイナーバージョンの更新が妨げられます。この機能セットを使用すると、該当するテクノロジープレビュー機能をテストクラスターで有効にして、完全にテストすることができます。実稼働クラスターではこの機能セットを有効にしないでください。
手順
次のような YAML ファイルを作成して Pod を作成します。
リソースを要求する Pod の例
apiVersion: v1 kind: Pod metadata: namespace: gpu-allocate name: pod1 labels: app: pod spec: restartPolicy: Never containers: - name: container0 image: ubuntu:24.04 command: ["sleep", "9999"] resources: claims:1 - name: gpu-claim-template - name: container1 image: ubuntu:24.04 command: ["sleep", "9999"] resources: claims: - name: gpu-claim - name: container2 image: ubuntu:24.04 command: ["sleep", "9999"] resources: claims: - name: gpu-claim resourceClaims:2 - name: gpu-claim-template resourceClaimTemplateName: example-resource-claim-template - name: gpu-claim resourceClaimName: example-resource-claimCRD オブジェクトを作成します。
$ oc create -f <file_name>.yaml
Pod のリソースクレームを設定する方法の詳細は、Dynamic Resource Allocation (Kubernetes ドキュメント) を参照してください。