Tous les produits
Search
Centre de documentation

Container Compute Service:Overview of ACS pods

Dernière mise à jour :Aug 12, 2026

Dans Kubernetes, le pod constitue la plus petite unité déployable et se compose généralement d'un ou plusieurs conteneurs. Le type de calcul et la qualité de puissance de calcul d'un pod influencent directement les performances des applications et l'utilisation des ressources. Container Compute Service (ACS) propose plusieurs types de calcul ainsi que des classes de qualité de puissance de calcul associées pour répondre à divers besoins applicatifs. Cette rubrique décrit les fonctionnalités principales et les limites des pods ACS, notamment l'isolation de sécurité, la configuration des ressources et spécifications CPU, mémoire et GPU, le téléchargement des images, le stockage, le réseau et la collecte des journaux.

Définitions des types de calcul

ACS met à disposition des types de calcul conteneurisé CPU et GPU économiques, avec différentes allocations de ressources adaptées à divers scénarios métier.

Type de calcul

Libellé

Fonctionnalités

Usage général (par défaut)

general-purpose

Convient à la plupart des applications microservices sans état, aux applications web Java et aux tâches de calcul.

Optimisé pour les performances

performance

Conçu pour les scénarios exigeant des performances élevées, tels que l'entraînement et l'inférence IA/ML sur CPU, ainsi que le traitement par lots HPC.

Type GPU

gpu

Destiné aux scénarios de calcul hétérogène comme l'IA et le HPC, incluant l'inférence mono-GPU et multi-GPU, ainsi que le calcul parallèle GPU.

GPU réseau haute performance (gpu-hpn)

gpu-hpn

Adapté aux scénarios de calcul hétérogène tels que l'IA et le HPC, couvrant l'entraînement distribué GPU, l'inférence distribuée et le calcul haute performance GPU.

Le type de calcul se définit au moyen du libellé alibabacloud.com/compute-class sur le pod. Les exemples suivants présentent la configuration YAML d'une application NGINX avec un type de calcul défini sur general-purpose, gpu ou gpu-hpn.

Usage général

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        alibabacloud.com/compute-class: general-purpose 
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest

Accéléré par GPU

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        # Set the compute-class to gpu.
        alibabacloud.com/compute-class: "gpu"
        # Set the GPU model to example-model. Replace the value as needed, for example, T4.
        alibabacloud.com/gpu-model-series: "example-model"
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
        resources:
          limits:
            cpu: 4
            memory: "8Gi"
            nvidia.com/gpu: "1" # Specify the number of GPUs. Set the resource label and quantity as needed. 
          requests:
            cpu: 4
            memory: "8Gi"
            nvidia.com/gpu: "1" # Specify the number of GPUs. Set the resource label and quantity as needed.
Remarque

Pour plus d'informations sur les modèles et spécifications GPU pris en charge par ACS, consultez Spécifications des types de calcul accéléré.

GPU réseau haute performance

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        # Set the compute-class to gpu-hpn. 
        alibabacloud.com/compute-class: "gpu-hpn"
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
        resources:
          limits:
            cpu: 4
            memory: "8Gi"
            nvidia.com/gpu: "1" # Specify the number of GPUs. Set the resource label and quantity as needed. 
          requests:
            cpu: 4
            memory: "8Gi"
            nvidia.com/gpu: "1" # Specify the number of GPUs. Set the resource label and quantity as needed.
Remarque

Pour utiliser des GPU réseau haute performance dans ACS, créez d'abord une réservation de capacité GPU-HPN.

Définitions de la qualité de puissance de calcul

ACS offre deux classes de qualité de puissance de calcul avec des allocations de ressources distinctes afin de s'adapter à différents scénarios métier.

Qualité de puissance de calcul

Libellé

Fonctionnalités

Scénarios d'application typiques

Default

default

  • De légères fluctuations de la puissance de calcul peuvent survenir.

  • Les instances ne sont pas expulsées de force. En cas de défaillance d'une instance, celle-ci est récupérée par migration à chaud ou via une notification invitant l'utilisateur à déclencher une expulsion.

  • Applications microservices

  • Applications web

  • Tâches de calcul

BestEffort

best-effort

  • Des variations de puissance de calcul sont possibles.

  • Les instances peuvent être préemptées et expulsées de force. Une notification d'événement est envoyée 5 minutes avant l'expulsion.

  • Calcul Big Data

  • Transcodage audio et vidéo

  • Tâches de traitement par lots

La qualité de puissance de calcul se spécifie à l'aide du libellé alibabacloud.com/compute-qos sur le pod. L'exemple suivant illustre la configuration YAML d'une application NGINX dont la qualité de puissance de calcul est définie sur default.

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        alibabacloud.com/compute-qos: default
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest 
Remarque
  • Les classes de qualité de puissance de calcul définies par ACS diffèrent des classes QoS natives de Kubernetes. La classe de qualité de puissance de calcul par défaut dans ACS correspond à la classe QoS Guaranteed de Kubernetes.

  • Le stock des instances BestEffort est dynamique. Dans les environnements de production, il est vivement recommandé d'adopter une politique d'ordonnancement priorisant le stock disponible. Cette politique permet à la plateforme de basculer automatiquement vers la classe de qualité par défaut lorsque le stock est insuffisant. Pour plus d'informations, consultez Politique d'ordonnancement des ressources personnalisées.

Correspondances entre les types de calcul et les classes de qualité de puissance de calcul

Type de calcul (libellé)

Classes de qualité de puissance de calcul prises en charge (libellés)

Usage général (general-purpose)

Default (default), BestEffort (best-effort)

Optimisé pour les performances (performance)

Default (default), BestEffort (best-effort)

Type GPU (gpu)

Default (default), BestEffort (best-effort)

GPU réseau haute performance (gpu-hpn)

Default (default)

Spécifier la marque du CPU

Les types de calcul Usage général (general-purpose) et Optimisé pour les performances (performance) prennent en charge deux fournisseurs de CPU : Intel et AMD.

Le fournisseur de CPU se définit en ajoutant l'annotation alibabacloud.com/cpu-vendors à un pod ou en configurant cette même annotation alibabacloud.com/cpu-vendors dans le modèle de pod d'une charge de travail. Pour utiliser des CPU AMD, ouvrez un ticket afin d'être ajouté à la liste d'autorisation. L'utilisation de cette annotation avec d'autres types de calcul n'est pas prise en charge et génère un message d'erreur. Les valeurs suivantes sont acceptées pour cette annotation :

Clé

Valeur

Définition

alibabacloud.com/cpu-vendors

intel (par défaut)

Indique un CPU Intel. En l'absence de spécification, la valeur par défaut est « intel ».

amd

Indique un CPU AMD.

intel, amd

Accepte indifféremment un CPU Intel ou AMD. Le système choisit la marque de CPU appropriée pour créer l'instance en fonction du stock disponible. Aucune ordre de préférence n'est pris en compte lorsque plusieurs valeurs sont spécifiées.

Une fois l'instance créée, vérifiez la valeur du libellé alibabacloud.com/cpu-vendor dans le YAML du pod pour confirmer la marque réelle du CPU.

L'exemple ci-dessous présente la configuration YAML d'une application NGINX où la marque du CPU est définie sur amd.

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        alibabacloud.com/compute-class: general-purpose
        alibabacloud.com/compute-qos: default
      annotations:
        alibabacloud.com/cpu-vendors: amd
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest 
Avertissement

N'utilisez pas les libellés système ACS, tels que alibabacloud.com/compute-class, alibabacloud.com/compute-qos et alibabacloud.com/cpu-vendor, comme filtres dans le champ matchLabels de la charge de travail. Ces libellés pouvant être modifiés par le système, leur utilisation risque d'entraîner des recréations fréquentes de pods par le contrôleur et de nuire à la stabilité de l'application.

Fonctionnalités principales

Fonctionnalité

Description

Isolation de sécurité

ACS constitue un environnement d'exécution de conteneurs serverless sécurisé. Chaque instance de pod bénéficie d'une isolation forte grâce à une technologie de sandbox légère, garantissant l'absence d'interférences entre instances. Lors de l'ordonnancement, les instances sont réparties autant que possible sur différentes machines physiques afin d'optimiser la disponibilité.

Configuration des spécifications de ressources CPU/Mémoire/GPU/EphemeralStorage

  • Définir les requêtes de ressources : configurez les requêtes de ressources CPU, mémoire, EphemeralStorage et GPU d'un conteneur via le champ standard Kubernetes resources.requests. Les ressources d'un pod ACS correspondent à la somme des ressources requises par tous les conteneurs qu'il contient. ACS ajuste automatiquement les spécifications du pod.

  • Définir les limites de ressources : configurez les limites de ressources CPU, mémoire, EphemeralStorage et GPU d'un conteneur à l'aide du champ standard Kubernetes resources.limits. Sans spécification explicite, la limite de ressources par défaut d'un conteneur équivaut au total des ressources de tous les conteneurs du pod ajusté.

Image

Par défaut, chaque redémarrage d'un pod ACS entraîne le téléchargement d'une image depuis un registre de conteneurs distant via le Virtual Private Cloud (VPC) où le pod est déployé. Si le registre est accessible publiquement, une passerelle NAT doit être configurée pour le VPC. Afin d'accélérer le téléchargement des images via les VPC, utilisez Container Registry (ACR) pour héberger vos images de conteneurs. Par ailleurs, ACS prend en charge le téléchargement d'images privées depuis Container Registry sans recourir aux Secrets.

Stockage

ACS prend en charge quatre types de stockage persistant : disques cloud, NAS, OSS et CPFS.

  • Disque cloud

    • Prise en charge des SSD Enterprise (ESSD), des disques ESSD AutoPL, des SSD standard et des disques Ultra. Choisissez le type de disque adapté à vos besoins. Pour plus d'informations, consultez Présentation des volumes disque.

    • ACS permet le provisionnement dynamique de disques cloud en tant que volumes persistants (PV). Pour plus d'informations, consultez Utiliser un volume disque dynamique.

  • NAS

    • Les volumes NAS provisionnés statiquement permettent de monter des systèmes de fichiers NAS Capacity et NAS Extreme en tant que volumes. Les volumes NAS provisionnés dynamiquement montent par défaut des systèmes de fichiers NAS Capacity. Pour plus d'informations, consultez Détails.

    • ACS autorise le provisionnement statique et dynamique de volumes NAS en tant que PV. Pour plus d'informations, consultez Présentation des volumes NAS.

  • OSS

  • CPFS

Réseau

Par défaut, un pod ACS utilise une adresse IP de pod indépendante et occupe une interface ENI d'un vSwitch.

Au sein d'un cluster ACS, les pods peuvent communiquer entre eux selon les modes suivants :

Collecte des journaux

Configurez directement les variables d'environnement du pod pour collecter les journaux stdout ou les journaux de fichiers, puis les envoyer vers Alibaba Cloud Simple Log Service (SLS).

Spécifications des ressources

Avertissement

Dans un cluster ACS, les spécifications des pods pour les types de calcul GPU et GPU-HPN sont automatiquement ajustées lors de l'envoi. Par exemple, les pods GPU sont uniformément alignés sur la QoS Guaranteed (la requête est égale à la limite). Lorsque vous utilisez la puissance de calcul GPU d'ACS depuis d'autres sources (telles que des clusters ACK ou ACK One), cet ajustement des spécifications de ressources n'apparaît pas dans les métadonnées du pod. Assurez-vous que la QoS du pod reste inchangée avant et après l'envoi. Pour les types de calcul GPU, envoyez le pod avec une QoS Guaranteed afin d'éviter les échecs de mise à jour du statut du pod.

Types de calcul à usage général

Type de calcul à usage général

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Bande passante réseau (entrant + sortant) (Gbit/s)

Stockage

0.25

0.5, 1, 2

N/A

0.08

Les capacités de 30 GiB ou moins sont gratuites. Pour les capacités supérieures à 30 GiB, l'excédent est facturé séparément. La configuration maximale prise en charge est de 2 000 GiB.

Pour obtenir de l'espace de stockage supplémentaire, montez des volumes de stockage tels que NAS.

0.5

1 à 4

1

0.08

1

1 à 8

0.1

1.5

2 à 12

1

2

2 à 16

2.5

3 à 20

1.5

3

3 à 24

3.5

4 à 28

4

4 à 32

4.5

5 à 36

5

5 à 40

5.5

6 à 44

6

6 à 48

6.5

7 à 52

2.5

7

7 à 56

7.5

8 à 60

8

8 à 64

8.5

9 à 68

9

9 à 72

9.5

10 à 76

10

10 à 80

10.5

11 à 84

11

11 à 88

11.5

12 à 92

12

12 à 96

12.5

13 à 100

3

13

13 à 104

13.5

14 à 108

14

14 à 112

14.5

15 à 116

15

15 à 120

15.5

16 à 124

16

16 à 128

24

24, 48, 96, 192

N/A

4.5

32

32, 64, 128, 256

N/A

6

48

48, 96, 192, 384

N/A

12.5

64

64, 128, 256, 512

N/A

20

Type de calcul performant

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Bande passante réseau (entrant + sortant) (Gbit/s)

Stockage

0.25

0.5, 1, 2

N/A

0.1

Les capacités de 30 GiB ou moins sont gratuites. Pour les capacités supérieures à 30 GiB, l'excédent est facturé séparément. La configuration maximale prise en charge est de 2 000 GiB.

Pour obtenir de l'espace de stockage supplémentaire, montez des volumes de stockage tels que NAS.

0.5

1 à 4

1

0.5

1

1 à 8

1.5

2 à 12

2

2 à 16

1.5

2.5

3 à 20

3

3 à 24

3.5

4 à 28

4

4 à 32

2

4.5

5 à 36

5

5 à 40

5.5

6 à 44

6

6 à 48

2.5

6.5

7 à 52

7

7 à 56

7.5

8 à 60

8

8 à 64

3

8.5

9 à 68

9

9 à 72

9.5

10 à 76

10

10 à 80

3.5

10.5

11 à 84

11

11 à 88

11.5

12 à 92

12

12 à 96

4

12.5

13 à 100

13

13 à 104

13.5

14 à 108

14

14 à 112

4.5

14.5

15 à 116

15

15 à 120

15.5

16 à 124

16

16 à 128

6

24

24, 48, 96, 192

N/A

8

32

32, 64, 128, 256

N/A

10

48

48, 96, 192, 384

N/A

16

64

64, 128, 256, 512

N/A

25

Important

Pour utiliser des pods ACS disposant de plus de 16 vCPU ou de plus de 128 GiB de mémoire, ouvrez un ticket pour demander l'accès.

Si vous ne spécifiez pas de spécifications en définissant .resources.requests et .resources.limits pour les conteneurs, un pod unique se voit allouer par défaut 2 vCPU et 4 GiB de mémoire.

ACS ajuste automatiquement les spécifications du pod. Le système calcule le cumul des .resources.requests et des .resources.limits pour tous les conteneurs, retient la valeur maximale entre ces deux sommes, puis aligne le pod sur la spécification prise en charge la plus proche. Cette spécification ajustée apparaît dans l'annotation alibabacloud.com/pod-use-spec. En cas d'ajustement à la hausse, ACS modifie les .resources.requests ou les .resources.limits du conteneur afin de garantir que l'application puisse utiliser toutes les ressources allouées.

Logique d'ajustement des spécifications de pod ACS

Par exemple, supposons que la valeur cumulée des .resources.requests ou des .resources.limits soit de 2 vCPU et 3,5 GiB de mémoire. Au démarrage du pod, ACS ajuste automatiquement sa spécification à 2 vCPU et 4 GiB de mémoire. Les ressources supplémentaires issues de cet ajustement sont attribuées au premier conteneur, et le pod reçoit l'annotation alibabacloud.com/pod-use-spec=2-4Gi. Voici un exemple de déclaration de ressources :

apiVersion: v1 
kind: Pod
metadata:
  labels:
    app: nginx
    alibabacloud.com/compute-class: general-purpose
    alibabacloud.com/compute-qos: default
  name: nginx
spec:
  containers:
  - name: nginx
    image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
    ports:
    - containerPort: 80
    resources:
      requests:
        cpu: 2 # Declare 2 vCPUs
        memory: "3.5Gi" # Declare 3.5 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space

La déclaration de ressources après ajustement est la suivante :

apiVersion: v1 
kind: Pod
metadata:
  annotations:
    alibabacloud.com/pod-use-spec: "2-4Gi"
  labels:
    app: nginx
    alibabacloud.com/compute-class: general-purpose
    alibabacloud.com/compute-qos: default
  name: nginx
spec:
  containers:
  - name: nginx
    image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
    ports:
    - containerPort: 80
    resources:
      requests:
        cpu: 2 # Declare 2 vCPUs
        memory: "4Gi" # Declare 4 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space

Spécifier les spécifications de pod via une annotation

Applicabilité

  • Cette fonctionnalité est disponible uniquement pour les pods CPU des types de calcul à usage général (general-purpose) et optimisés pour les performances (performance).

  • La spécification maximale prise en charge par l'annotation est de 64 vCPU et 512 GiB, conformément aux spécifications du type de calcul à usage général.

Utilisation

Pour les scénarios où la Quality of Service (QoS) est Burstable (.resources.limits > .resources.requests), déclarez les spécifications de ressources cibles pour un pod en spécifiant l'annotation alibabacloud.com/pod-required-spec: "X-YGi". Les spécifications de ressources doivent respecter le format <CPU>-<Memory>, où le CPU est exprimé en cœurs (par exemple, « 2 » représente 2 vCPU) et la mémoire en GiB (par exemple, « 4Gi » représente 4 GiB). Les règles détaillées d'alignement des ressources et d'utilisation sont les suivantes :

  1. Si le format de la spécification de ressources est incorrect (unités manquantes, utilisation de MiB ou ordre erroné), la création du pod échoue.

  2. Si vous définissez l'annotation sans configurer .resources pour aucun conteneur, le système suit strictement la valeur de l'annotation pour l'ajustement et ne revient pas à la spécification par défaut de 2 vCPU et 4 GiB.

  3. Si la valeur de l'annotation est inférieure à la somme des .resources.requests de tous les conteneurs du pod, la création du pod échoue.

  4. Si la valeur de l'annotation dépasse la somme des .resources.limits de tous les conteneurs du pod, le système utilise cette valeur comme spécification cible pour l'ajustement du pod.

    Dans un pod multi-conteneurs, le premier conteneur est considéré comme le conteneur principal. Le système calcule la différence entre la valeur de l'annotation et la somme des limits actuelles. Cette différence est ensuite ajoutée aux .resources.limits du conteneur principal. La valeur .resources.requests est également ajustée si nécessaire pour aligner les ressources totales du pod sur la spécification cible.

Exemple

Par exemple, supposons que alibabacloud.com/pod-required-spec: "2-4Gi" soit configuré et que la valeur cumulée des .resources.requests ou des .resources.limits du conteneur soit de 1 vCPU et 2 GiB de mémoire. Au démarrage du pod, ACS ajuste automatiquement sa spécification à 2 vCPU et 4 GiB de mémoire. Les ressources supplémentaires issues de cet ajustement sont attribuées au premier conteneur, et le pod reçoit l'annotation alibabacloud.com/pod-use-spec=2-4Gi.

Voici un exemple de déclaration de ressources :

La valeur .resources.limits.memory est de 3,5 GiB.
apiVersion: v1 
kind: Pod
metadata:
  labels:
    app: nginx
    alibabacloud.com/compute-class: general-purpose
    alibabacloud.com/compute-qos: default
  annotations:
    alibabacloud.com/pod-required-spec: "2-4Gi"
  name: nginx
spec:
  containers:
  - name: nginx
    image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
    ports:
    - containerPort: 80
    resources:
      requests:
        cpu: 1 # Declare 1 vCPU
        memory: "2Gi" # Declare 2 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space
      limits:
        cpu: 2 # Declare 2 vCPUs
        memory: "3.5Gi" # Declare 3.5 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space

La déclaration de ressources après ajustement est la suivante :

La valeur .resources.limits.memory passe de 3,5 GiB à 4 GiB.
apiVersion: v1 
kind: Pod
metadata:
  annotations:
    alibabacloud.com/pod-required-spec: "2-4Gi"
    alibabacloud.com/pod-use-spec: "2-4Gi"
  labels:
    app: nginx
    alibabacloud.com/compute-class: general-purpose
    alibabacloud.com/compute-qos: default
  name: nginx
spec:
  containers:
  - name: nginx
    image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
    ports:
    - containerPort: 80
    resources:
      requests:
        cpu: 1 # Declare 1 vCPU
        memory: "2Gi" # Declare 2 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space
      limits:
        cpu: 2 # Declare 2 vCPUs
        memory: "4Gi" # Declare 4 GiB of memory
        ephemeral-storage: "30Gi" # Declare 30 GiB of storage space

Types de calcul accéléré

Voici les modèles de GPU pris en charge par ACS. Les spécifications varient selon les modèles. Pour obtenir le détail des correspondances de spécifications, envoyez une demande afin d'obtenir plus d'informations.

GU8TF

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (96 GB GPU memory)

2

2 to 16

1

30 to 256

4

4 to 32

1

6

6 to 48

1

8

8 to 64

1

10

10 to 80

1

12

12 to 96

1

14

14 to 112

1

16

16 to 128

1

22

22, 32, 64, 128

N/A

2 (96 GB × 2 GPU memory)

16

16 to 128

1

30 to 512

32

32, 64, 128, 230

N/A

46

64, 128, 230

N/A

4 GPUs (96 GB each)

32

32, 64, 128, 256

N/A

30 to 1024

64

64, 128, 256, 460

N/A

92

128, 256, 460

N/A

8 GPUs (96 × 8 GB total GPU memory)

64

64, 128, 256, 512

N/A

30 to 2048

128

128, 256, 512, 920

N/A

184

256, 512, 920

N/A

GU8TEF

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (141 GB GPU memory)

2

2 to 16

1

30 to 768

4

4 to 32

1

6

6 to 48

1

8

8 to 64

1

10

10 to 80

1

12

12 to 96

1

14

14 to 112

1

16

16 to 128

1

22

22, 32, 64, 128, 225

N/A

2 (141 GB × 2 GPU memory)

16

16 to 128

1

30 to 1536

32

32, 64, 128, 256

N/A

46

64, 128, 256, 450

N/A

4 (141 GB × 4 GPU memory)

32

32, 64, 128, 256

N/A

30 to 3072

64

64, 128, 256, 512

N/A

92

128, 256, 512, 900

N/A

8 (141 GB × 8 GPU memory)

64

64, 128, 256, 512

N/A

30 to 6144

128

128, 256, 512, 1024

N/A

184

256, 512, 1024, 1800

N/A

L20(GN8IS)

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (48 GB GPU memory)

2

2 to 16

1

30 to 256

4

4 to 32

1

6

6 to 48

1

8

8 to 64

1

10

10 to 80

1

12

12 to 96

1

14

14 to 112

1

16

16 to 120

1

2 (48 GB × 2 GPU memory)

16

16 to 128

1

30 to 512

32

32, 64, 128, 230

N/A

4 (48 GB × 4 GPU memory)

32

32, 64, 128, 256

N/A

30 to 1024

64

64, 128, 256, 460

N/A

8 (48 GB × 8 GPU memory)

64

64, 128, 256, 512

N/A

30 to 2048

128

128, 256, 512, 920

N/A

L20X (GX8SF)

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

8 (141 GB × 8 GPU memory)

184

1800

N/A

30 to 6144

P16EN

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (96 GB GPU memory)

2

2 to 16

1

30 to 384

4

4 to 32

1

6

6 to 48

1

8

8 to 64

1

10

10 to 80

1

2 (96 GB × 2 GPU memory)

4

4 to 32

1

30 to 768

6

6 to 48

1

8

8 to 64

1

16

16 to 128

1

22

32, 64, 128, 225

N/A

4 (96 GB × 4 GPU memory)

8

8 to 64

1

30 to 1536

16

16 to 128

1

32

32, 64, 128, 256

N/A

46

64, 128, 256, 450

N/A

8 (96 GB × 8 GPU memory)

16

16 to 128

1

30 to 3072

32

32, 64, 128, 256

N/A

64

64, 128, 256, 512

N/A

92

128, 256, 512, 900

N/A

16 (96 GB × 16 GPU memory)

32

32, 64, 128, 256

N/A

30 to 6144

64

64, 128, 256, 512

N/A

128

128, 256, 512, 1024

N/A

184

256, 512, 1024, 1800

N/A

T4

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (16 GB GPU memory)

2

2 to 8

1

30 to 1536

4

4 to 16

1

6

6 to 24

1

8

8 to 32

1

10

10 to 40

1

12

12 to 48

1

14

14 to 56

1

16

16 to 64

1

24

24, 48, 90

N/A

30 to 1536

2 (16 GB × 2 GPU memory)

16

16 to 64

1

24

24, 48, 96

N/A

32

32, 64, 128

N/A

48

48, 96, 180

N/A

A10

GPU (cards)

vCPU

Memory (GiB)

Memory step size (GiB)

Storage (GiB)

1 (24 GB GPU memory)

2

2 to 8

1

30 to 256

4

4 to 16

1

6

6 to 24

1

8

8 to 32

1

10

10 to 40

1

12

12 to 48

1

14

14 to 56

1

16

16 to 60

1

2 (24 GB × 2 GPU memory)

16

16 to 64

1

30 to 512

32

32, 64, 120

N/A

4 (24 GB × 4 GPU memory)

32

32, 64, 128

N/A

30 to 1024

64

64, 128, 240

N/A

8 (24 GB × 8 GPU memory)

64

64, 128, 256

N/A

30 to 2048

128

128, 256, 480

N/A

G28Ti

GPU (cartes)

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Stockage (GiB)

1 (mémoire GPU de 11 Go)

2

2 à 8

1

30 à 1536

4

4 à 16

1

6

6 à 24

1

8

8 à 32

1

10

10 à 40

1

12

12 à 48

1

G49E

GPU (cartes)

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Stockage (GiB)

1 (mémoire GPU de 48 Go)

2

2 à 16

1

30 à 256

4

4 à 32

1

6

6 à 48

1

8

8 à 64

1

10

10 à 80

1

12

12 à 96

1

14

14 à 112

1

16

16 à 120

1

2 (mémoire GPU de 48 Go × 2)

16

16 à 128

1

30 à 512

32

32, 64, 128, 230

N/A

4 (mémoire GPU de 48 Go × 4)

32

32, 64, 128, 256

N/A

30 à 1024

64

64, 128, 256, 460

N/A

8 (mémoire GPU de 48 Go × 8)

64

64, 128, 256, 512

N/A

30 à 2048

128

128, 256, 512, 920

N/A

G59

GPU (cartes)

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Stockage (GiB)

1 (mémoire GPU de 32 Go)

2

2 à 16

1

30 à 256

4

4 à 32

1

6

6 à 48

1

8

8 à 64

1

10

10 à 80

1

12

12 à 96

1

14

14 à 112

1

16

16 à 128

1

22

22, 32, 64, 128

N/A

2 (mémoire GPU de 32 Go × 2)

16

16 à 128

1

30 à 512

32

32, 64, 128, 256

N/A

46

64, 128, 256, 360

N/A

4 (mémoire GPU de 32 Go × 4)

32

32, 64, 128, 256

N/A

30 à 1024

64

64, 128, 256, 512

N/A

92

128, 256, 512, 720

N/A

8 (mémoire GPU de 32 Go × 8)

64

64, 128, 256, 512

N/A

30 à 2048

128

128, 256, 512, 1024

N/A

184

256, 512, 1024, 1440

N/A

L20N

GPU (cartes)

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Stockage (GiB)

1 (mémoire GPU de 48 Go)

2

2 à 16

1

30 à 2048

4

4 à 32

1

6

6 à 48

1

8

8 à 64

1

10

10 à 80

1

12

12 à 96

1

14

14 à 112

1

16

16 à 128

1

32

32, 64, 128, 256

N/A

2 (mémoire GPU de 48 Go × 2)

16

16 à 128

1

32

32, 64, 128, 256

N/A

64

64, 128, 256, 512

N/A

4 (mémoire GPU de 48 Go × 4)

32

32, 64, 128, 256

N/A

64

64, 128, 256, 512

N/A

128

128, 256, 512, 1024

N/A

8 (mémoire GPU de 48 Go × 8)

64

64, 128, 256, 512

N/A

128

128, 256, 512, 1024

N/A

256

256, 512, 1024, 2048

N/A

L20NE

GPU (cartes)

vCPU

Mémoire (GiB)

Pas de mémoire (GiB)

Stockage (GiB)

1 (mémoire GPU de 72 Go)

2

2 à 16

1

30 à 2048

4

4 à 32

1

6

6 à 48

1

8

8 à 64

1

10

10 à 80

1

12

12 à 96

1

14

14 à 112

1

16

16 à 128

1

32

32, 64, 128, 256

N/A

2 (mémoire GPU de 72 Go × 2)

16

16 à 128

1

32

32, 64, 128, 256

N/A

64

64, 128, 256, 512

N/A

4 (mémoire GPU de 72 Go × 4)

32

32, 64, 128, 256

N/A

64

64, 128, 256, 512

N/A

128

128, 256, 512, 1024

N/A

8 (mémoire GPU de 72 Go × 8)

64

64, 128, 256, 512

N/A

128

128, 256, 512, 1024

N/A

256

256, 512, 1024, 2048

N/A

Important

Les modèles ci-dessus partagent les mêmes spécifications pour les instances en paiement à l'utilisation, avec réservation de capacité et BestEffort. Veuillez noter les points suivants :

  • Pour les spécifications disposant de 16 GiB de mémoire ou moins, la surcharge mémoire est prise en charge par ACS. Au-delà de 16 GiB, cette surcharge est allouée aux pods correspondants. Veillez à réserver suffisamment de ressources pour votre application afin d'en garantir le bon fonctionnement.

  • Les disques système d'une capacité inférieure ou égale à 30 GiB (taille de l'image incluse) n'engendrent aucun frais supplémentaire. La capacité excédentaire des disques système supérieurs à 30 GiB est facturée séparément.

Ajustement automatique des spécifications

En l'absence de spécification explicite, un pod de conteneur GPU est créé avec la configuration minimale correspondant au type de GPU sélectionné (par exemple, 2 vCPU, 2 Gio de mémoire et 1 carte GPU).

ACS ajuste automatiquement les spécifications non prises en charge. Après cet ajustement, le champ .resources.requests du conteneur reste inchangé, mais la spécification effective du pod apparaît dans l'annotation alibabacloud.com/pod-use-spec. Si la limite de ressources définie pour un conteneur (resources.limits) dépasse la spécification du pod, ACS aligne cette limite sur la spécification du pod.

Remarque
  • Logique d'ajustement CPU et mémoire : si le cumul des ressources de tous les conteneurs atteint 2 vCPU et 3,5 Gio de mémoire, ACS ajuste automatiquement le pod à 2 vCPU et 4 Gio de mémoire. Les ressources supplémentaires issues de cet ajustement sont attribuées au premier conteneur. Le pod porte alors l'annotation alibabacloud.com/pod-use-spec=2-4Gi. Si un conteneur individuel du pod demande une limite de 3 vCPU et 5 Gio de mémoire, sa limite est ramenée à 2 vCPU et 5 Gio.

  • Logique d'ajustement GPU : la soumission du pod échoue si le nombre de GPU demandés ne figure pas dans la table.

Type de calcul GPU-HPN

Pour le type de calcul GPU-HPN, ACS aligne la limite de ressources sur la demande, en se basant sur la valeur demandée. Les spécifications de ressources du pod sont également contraintes par la capacité du nœud. Si les spécifications demandées dépassent cette capacité, le pod passe à l'état pending en raison d'un manque de ressources. Pour plus d'informations sur les spécifications des nœuds, consultez la description des spécifications sur la page d'achat.

Limites des applications Kubernetes

ACS s'intègre à Kubernetes via des nœuds virtuels. Les instances de pod ACS ne s'exécutent pas sur des nœuds physiques centralisés, mais sont réparties dans le pool de ressources d'Alibaba Cloud. En raison des exigences de sécurité du cloud public et des limitations des nœuds virtuels, ACS ne prend pas en charge certaines fonctionnalités Kubernetes telles que HostPath et DaemonSet, comme indiqué dans le tableau suivant.

Limite

Description

Action en cas d'échec de validation

Alternative recommandée

DaemonSet

L'utilisation des charges de travail DaemonSet est restreinte.

Le pod s'exécute mais ne fonctionne pas comme prévu.

Déployez plusieurs conteneurs dans le pod en tant que sidecars.

Service avec type=NodePort

Mappage des ports de l'hôte vers le conteneur

La soumission est rejetée.

Utilisez un équilibreur de charge avec type=LoadBalancer.

HostNetwork

Le mappage des ports de l'hôte aux conteneurs est restreint.

La valeur est réécrite en HostNetwork=false.

Non requis.

HostIPC

La communication inter-processus entre les processus du conteneur et ceux de l'hôte est restreinte.

La valeur est réécrite en HostIPC=false.

Non requis.

HostPID

La visibilité de l'espace PID de l'hôte par le conteneur est restreinte.

La valeur est réécrite en HostPID=false.

Non requis.

HostUsers

L'utilisation des namespaces utilisateur est restreinte.

La valeur est réécrite pour être vide.

Non requis.

DNSPolicy

L'utilisation de DNSPolicies spécifiques est restreinte.

Remarque
  • None

  • Default

  • ClusterFirst

  • Une configuration ClusterFirstWithHostNet est réécrite en ClusterFirst.

  • Les soumissions utilisant d'autres politiques sont rejetées.

Utilisez une valeur autorisée.

Format des variables d'environnement du conteneur

Outre les contraintes par défaut imposées par le serveur API Kubernetes sur les variables d'environnement, pour les types de calcul GPU et GPU-HPN, ACS exige que les noms des variables d'environnement soient composés uniquement de lettres, chiffres, traits de soulignement, points ou traits d'union, et ne commencent pas par un chiffre.

Le démarrage du pod échoue.

Utilisez un nom de variable d'environnement conforme.

Nombre de variables d'environnement du conteneur

En raison des contraintes liées à la longueur de la liste des paramètres pour les appels système sous Linux, le nombre de variables d'environnement pour un seul conteneur doit être limité à environ 2 000 maximum.

Par ailleurs, si enableServiceLinks est défini sur true pour un pod (valeur par défaut), les informations relatives à tous les Services du namespace actuel sont injectées dans le conteneur sous forme de variables d'environnement. Cela peut également entraîner un dépassement de la limite système du nombre total de variables d'environnement.

Le démarrage du pod échoue.

Réduisez le nombre de variables d'environnement du conteneur. S'il existe de nombreux Services, définissez enableServiceLinks sur false pour le pod.

Utilisation des ports

Le tableau suivant décrit les ports utilisés par ACS. Évitez d'utiliser ces ports lors du déploiement de services.

Port

Description

111, 10250, 10255

Ports utilisés par les clusters ACS pour des interfaces telles que exec, logs et metrics.