Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use GPU resources and enable GPU sharing in Knative

Dernière mise à jour :Aug 11, 2026

Pour exécuter l'inférence IA, le calcul haute performance ou d'autres charges de travail GPU dans Knative, configurez votre service Knative pour demander des ressources GPU. Vous pouvez attribuer un GPU dédié à un service ou activer le partage GPU afin que plusieurs pods se partagent un seul GPU physique.

Prérequis

Avant de commencer, vérifiez les points suivants :

  • Knative est déployé dans votre cluster ACK. Pour plus d'informations, consultez la rubrique Déployer Knative.

Configurer un GPU dédié

Ajoutez deux champs au manifeste de votre service Knative :

  • L'annotation k8s.aliyun.com/eci-use-specs dans spec.template.metadata.annotations : spécifie le type d'instance ECS accéléré par GPU.

  • La limite de ressource nvidia.com/gpu dans spec.containers.resources.limits : indique le nombre de GPU requis par le conteneur. Ce champ est obligatoire. Si vous l'omettez, le pod ne démarre pas.

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 — omitting it causes the pod to fail at startup.

Familles d'instances GPU prises en charge

Famille d'instances Puce 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
La famille d'instances gn5 inclut des disques locaux. Pour monter des disques locaux sur des instances de conteneur élastiques, consultez la rubrique Créer une instance de conteneur élastique avec des disques locaux attachés.

Pour obtenir la liste complète des types d'instances ECS accélérés par GPU disponibles dans votre région, consultez la page Types d'instances ECS disponibles pour chaque région. Pour des informations générales sur les familles d'instances, consultez la rubrique Présentation des familles d'instances.

Les instances de conteneur élastiques accélérées par GPU prennent en charge la version 460.73.01 du pilote NVIDIA GPU et la version 11.2 de CUDA Toolkit.

Activer le partage GPU

Le partage GPU permet à plusieurs pods de se partager un seul GPU physique en divisant sa mémoire. Utilisez cette fonctionnalité pour des charges de travail telles que les services d'inférence légers ou les environnements de développement.

  1. Activez le partage GPU sur les nœuds. Pour obtenir des instructions, consultez la rubrique Activer le partage GPU.

  2. Dans le manifeste de votre service Knative, définissez aliyun.com/gpu-mem sous spec.containers.resources.limits pour spécifier la taille de la mémoire GPU (en Go) allouée à chaque conteneur.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
      namespace: default
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: "100"  # Maximum number of pod replicas
            autoscaling.knative.dev/minScale: "0"    # Scale to zero when idle
        spec:
          containerConcurrency: 1  # Maximum concurrent requests per pod replica
          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"  # GPU memory allocated to this container, in GB

Étapes suivantes