Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Configure GPU resources and enable GPU sharing for Knative

Dernière mise à jour :Sep 12, 2026

Déployez des charges de travail GPU, telles que l'inférence IA et le calcul haute performance (HPC), sur Knative avec la possibilité de partager les GPU entre les pods.

Prérequis

Configurer les ressources GPU

Ajoutez l'annotation k8s.aliyun.com/eci-use-specs à spec.template.metadata.annotations pour spécifier un type d'instance Elastic Compute Service (ECS) accéléré par GPU. Ajoutez le champ nvidia.com/gpu à spec.containers.resources.limits pour définir le nombre de GPU. Si vous omettez nvidia.com/gpu, le pod génère des erreurs après son démarrage.

Exemple de service Knative avec un GPU :

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
spec:
  template:
    metadata:
      labels:
        app: helloworld-go
      annotations:
        k8s.aliyun.com/eci-use-specs: ecs.gn5i-c4g1.xlarge  # GPU-accelerated ECS instance type
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
          ports:
          - containerPort: 8080
          resources:
            limits:
              nvidia.com/gpu: '1'    # Number of GPUs required. Required field.

Familles d'instances GPU prises en charge

Famille d'instances Modèle de GPU Exemple de type d'instance
gn7i NVIDIA A10 ecs.gn7i-c8g1,2xlarge
gn7 — ecs.gn7-c12g1,3xlarge
gn6v NVIDIA V100 ecs.gn6v-c8g1.2xlarge
gn6e NVIDIA V100 ecs.gn6e-c12g1.3xlarge
gn6i NVIDIA T4 ecs.gn6i-c4g1.xlarge
gn5i NVIDIA P4 ecs.gn5i-c2g1.large
gn5 NVIDIA P100 ecs.gn5-c4g1.xlarge
Pilote GPU pris en charge : NVIDIA 460.73.01. CUDA Toolkit : 11,2. La famille gn5 inclut des disques locaux. Pour monter des disques locaux sur des ECI, consultez Créer une instance de conteneur élastique avec des disques locaux attachés . Pour connaître les types d'instance disponibles par région, consultez Types d'instance ECS disponibles pour chaque région et Présentation des familles d'instances .

Activer le partage de GPU

Le partage de GPU permet à plusieurs pods de partager un GPU physique, ce qui réduit les coûts lorsque les charges de travail ne nécessitent pas un accès dédié au GPU.

Pour activer le partage de GPU :

  1. Activez le partage de GPU pour les nœuds.

  2. Ajoutez le champ aliyun.com/gpu-mem à spec.containers.resources.limits dans votre service Knative pour définir la taille de la mémoire GPU :

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
      namespace: default
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: "100"
            autoscaling.knative.dev/minScale: "0"
        spec:
          containerConcurrency: 1
          containers:
          - image: registry-vpc.cn-hangzhou.aliyuncs.com/hz-suoxing-test/test:helloworld-go
            name: user-container
            ports:
            - containerPort: 6666
              name: http1
              protocol: TCP
            resources:
              limits:
                aliyun.com/gpu-mem: "3"    # Specify the GPU memory size.

Étapes suivantes