Plutôt que d'énumérer des types d'instances Elastic Compute Service (ECS) spécifiques, spécifiez vos besoins en vCPU et en mémoire, puis laissez Elastic Container Instance (ECI) sélectionner automatiquement l'architecture sous-jacente. La fonctionnalité de catégorie de calcul vous permet d'exprimer une préférence pour le coût ou les performances lors de cette sélection.
Deux catégories sont disponibles :
Economy — prix unitaire par vCPU inférieur à celui de la catégorie General, prend en charge de 0,25 à 8 vCPU. Idéale pour les charges de travail légères, par lots ou sensibles aux coûts.
General — même prix unitaire que les instances créées sans catégorie de calcul, prend en charge de 1 à 64 vCPU. Offre des performances supérieures pour les mêmes spécifications de vCPU et de mémoire.
Les deux catégories de calcul sont en aperçu public.
Le stockage temporaire par défaut pour les deux catégories est de 30 GiB.
Choisir une catégorie de calcul
| Objectif | Catégorie |
|---|---|
| Réduire les coûts pour les charges de travail simples ou non critiques | economy |
| Maximiser les performances pour les charges de travail de production | general |
| Améliorer la disponibilité (tolérer de légères variations de performance) | Spécifiez les deux : general,economy |
Lorsque vous spécifiez plusieurs catégories, le système essaie chaque combinaison dans l'ordre (priorité aux spécifications, puis à la catégorie). Cela permet au système de basculer vers economy si les ressources general ne sont pas disponibles, maintenant ainsi le pod en cours d'exécution au prix d'un léger compromis sur les performances.
Spécifications
Economy
Prise en charge dans toutes les régions où ECI est disponible
| vCPU | Mémoire (GiB) | Bande passante de base (bidirectionnelle, Gbit/s) |
|---|---|---|
| 0,25 | 0,5, 1 | 0,08 |
| 0,5 | 1, 2 | 0,08 |
| 1 | 2, 4, 8 | 0,08 |
| 2 | 1, 2, 4, 8, 16 | 0,2 |
| 4 | 2, 4, 8, 16, 32 | 0,4 |
| 8 | 4, 8, 16, 32, 64 | 0,8 |
Prise en charge uniquement dans certaines régions
Les spécifications suivantes sont uniquement disponibles dans : Chine (Hangzhou), Chine (Shanghai), Chine (Qingdao), Chine (Beijing), Chine (Zhangjiakou), Chine (Hohhot), Chine (Ulanqab), Chine (Shenzhen), Chine (Heyuan), Chine (Guangzhou), Chine (Chengdu) et Singapour.
Ces spécifications ne peuvent pas être utilisées pour créer des instances préemptibles.
| vCPU | Mémoire (GiB) | Bande passante de base (bidirectionnelle, Gbit/s) |
|---|---|---|
| 2 | 6, 10, 12, 14 | 0,2 |
| 4 | 6, 10, 12, 14, 18, 20, 22, 24, 26, 28, 30 | 0,4 |
| 6 | 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 | 0,8 |
| 8 | 10, 12, 14, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62 | 0,8 |
General
Prise en charge dans toutes les régions où ECI est disponible
| vCPU | Mémoire (GiB) | Bande passante de base (bidirectionnelle, Gbit/s) |
|---|---|---|
| 1 | 2, 4, 8 | 1 |
| 2 | 1, 2, 4, 8, 16 | 1 |
| 4 | 2, 4, 8, 16, 32 | 1,5 |
| 8 | 4, 8, 16, 32, 64 | 2 |
| 12 | 12, 24, 48, 96 | 2,5 |
| 16 | 16, 32, 64, 128 | 3 |
| 24 | 24, 48, 96, 192 | 4,5 |
| 32 | 32, 64, 128, 256 | 6 |
| 52 | 96, 192, 384 | 12,5 |
| 64 | 128, 256, 512 | 20 |
Prise en charge uniquement dans certaines régions
Les spécifications suivantes sont uniquement disponibles dans : Chine (Hangzhou), Chine (Shanghai), Chine (Qingdao), Chine (Beijing), Chine (Zhangjiakou), Chine (Hohhot), Chine (Ulanqab), Chine (Shenzhen), Chine (Heyuan), Chine (Guangzhou), Chine (Chengdu) et Singapour.
Ces spécifications ne peuvent pas être utilisées pour créer des instances préemptibles.
| vCPU | Mémoire (GiB) | Bande passante de base (bidirectionnelle, Gbit/s) |
|---|---|---|
| 2 | 6, 10, 12, 14 | 1 |
| 4 | 6, 10, 12, 14, 18, 20, 22, 24, 26, 28, 30 | 1,5 |
| 6 | 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 | 1,5 |
| 8 | 10, 12, 14, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62 | 2,5 |
Facturation
Les deux catégories de calcul sont en aperçu public.
La catégorie Economy propose un prix unitaire par vCPU inférieur à celui de la catégorie General. Le prix de la mémoire est identique pour les deux catégories.
| Catégorie | Ressource | Prix unitaire |
|---|---|---|
| Economy | vCPU | 0,00000424 USD/vCPU-seconde (0,015264 USD/vCPU-heure) |
| Economy | Mémoire | 0,00000096 USD/GiB-seconde (0,003456 USD/GiB-heure) |
| General | vCPU | 0,0000077 USD/vCPU-seconde (0,02772 USD/vCPU-heure) |
| General | Mémoire | 0,00000096 USD/GiB-seconde (0,003456 USD/GiB-heure) |
Une fois le pod créé, exécutez kubectl describe pod pour confirmer la catégorie de calcul réellement utilisée. L'annotation de réponse k8s.aliyun.com/eci-instance-compute-category indique le résultat ; la facturation est basée sur les prix unitaires de cette catégorie.
Limites
Spécifications vCPU/mémoire requises. Cette fonctionnalité fonctionne uniquement lors de la création d'instances de conteneur élastiques en spécifiant le nombre de vCPU et la quantité de mémoire. Si vous spécifiez des types d'instance ECS, ceux-ci sont prioritaires et la catégorie de calcul est ignorée.
Preemptible pods not supported. La définition simultanée d'une annotation préemptible et d'une annotation de catégorie de calcul renvoie l'erreur
FeatureBasedConstraintConflict.Pods basés sur Arm non pris en charge. La planification d'un pod sur un nœud virtuel basé sur Arm avec une annotation de catégorie de calcul economy renvoie l'erreur
FeatureBasedConstraintConflict.-
Fonctionnalités incompatibles. Ne peut pas être utilisé conjointement avec :
Spécifier ou exclure des familles d'instances ECS
Spécifier ou exclure des générations spécifiques de familles d'instances ECS
Configurer la catégorie de calcul
Étape 1 : Spécifier les vCPU et la mémoire
Avant de définir une catégorie de calcul, spécifiez les vCPU et la mémoire du pod à l'aide de l'une des méthodes suivantes :
| Méthode | Procédure | Notes |
|---|---|---|
| Limites par conteneur (recommandé) | Définissez resources.limits.cpu et resources.limits.memory pour chaque conteneur |
ECI utilise limits pour déterminer la spécification de l'instance. L'utilisation de limits vous donne un contrôle explicite sur la taille de l'instance sélectionnée. |
| Annotation au niveau du pod | Ajoutez k8s.aliyun.com/eci-use-specs aux métadonnées du pod |
Spécifie directement le total des vCPU et de la mémoire pour le pod, en contournant l'agrégation par conteneur. |
Si aucune des optionslimits,requestsouk8s.aliyun.com/eci-use-specsn'est définie, ou si les trois sont définies simultanément, consultez la section Description de la configuration pour savoir comment le système résout la spécification.
Étape 2 : Définir la catégorie de calcul
Ajoutez l'annotation k8s.aliyun.com/eci-compute-category à la section metadata du pod.
Valeurs valides :
economy,generalPour spécifier un ordre de secours, utilisez une liste séparée par des virgules :
general,economy
Ajoutez les annotations à la section
metadatadu pod. Pour un Deployment, il s'agit despec.template.metadata.Les annotations ne prennent effet qu'à la création du pod. L'ajout ou la modification d'annotations sur un pod existant n'a aucun effet.
Fonctionnement de la sélection des spécifications
Lorsque les spécifications vCPU/mémoire et une catégorie de calcul sont configurées, ECI détermine l'instance finale selon les règles suivantes :
| Configuration | Résultat |
|---|---|
| Catégorie de calcul spécifiée, sans vCPU/mémoire | Crée une instance avec 2 vCPU et 4 GiB de mémoire en utilisant la catégorie spécifiée |
| vCPU/mémoire + catégorie de calcul spécifiés, la combinaison est une spécification ECI valide | Crée l'instance comme spécifié |
vCPU < 1 avec la catégorie general |
Le système ajuste automatiquement les vCPU à 1 (minimum pour general) |
vCPU > 8 avec la catégorie economy |
Invalide — le système ne peut pas ajuster automatiquement ; renvoie une erreur |
| vCPU dans la plage de la catégorie mais ne correspondant pas exactement à une spécification ECI | Le système arrondit à la spécification prise en charge la plus proche (supérieure ou égale aux valeurs demandées). Exemple : 7 vCPU / 13 GiB + general est ajusté à 8 vCPU / 16 GiB |
| Plusieurs spécifications ou catégories spécifiées | Les spécifications d'instance sont prioritaires par rapport aux catégories. Le système essaie les combinaisons dans l'ordre spécifié. |
Plusieurs spécifications et catégories
Lorsque vous spécifiez plusieurs valeurs pour les deux, le système parcourt toutes les combinaisons par spécification d'abord, puis par catégorie. Les combinaisons invalides (par exemple, 16 vCPU + economy) sont automatiquement ignorées.
Exemple : k8s.aliyun.com/eci-use-specs: "4-8Gi,8-16Gi,16-32Gi" et k8s.aliyun.com/eci-compute-category: "general,economy"
Le système essaie dans cet ordre :
4 vCPU / 8 GiB, general
4 vCPU / 8 GiB, economy
8 vCPU / 16 GiB, general
8 vCPU / 16 GiB, economy
16 vCPU / 32 GiB, general
16 vCPU / 32 GiB, economy (invalide — ignoré automatiquement)
Lorsqu'une spécification demandée ne correspond exactement à aucune spécification ECI prise en charge, le système prend en compte toutes les catégories spécifiées et arrondit à la spécification valide la plus proche. Si cette spécification arrondie est incompatible avec une catégorie donnée, cette catégorie est exclue de la sélection pour cette spécification. Exemple : 0,5 vCPU / 1,9 GiB + general,economy — le système arrondit à 0,5 vCPU / 2 GiB. Comme 0,5 vCPU n'est pas pris en charge par general, seule la catégorie economy est utilisée pour cette spécification.
Exemples de configuration
Exemple 1 : Catégorie Economy avec limites par conteneur
Utilisez limits sur chaque conteneur et définissez la catégorie de calcul sur economy. Le total des vCPU et de la mémoire du pod est la somme des valeurs de tous les conteneurs.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-compute-category: "economy"
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
resources:
limits:
cpu: "500m" # 0.5 vCPU
memory: "1024Mi" # 1 GiB
- name: busybox
image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
command: ["sleep"]
args: ["999999"]
resources:
limits:
cpu: "1000m" # 1 vCPU
memory: "2048Mi" # 2 GiB
Exemple 2 : General avec basculement vers Economy
Définissez general,economy pour privilégier les hautes performances, tout en permettant un basculement vers economy si les ressources general ne sont pas disponibles. Cela améliore la disponibilité sans imposer une catégorie de calcul fixe.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-compute-category: "general,economy" # Prefer general; fall back to economy
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
resources:
limits:
cpu: "2000m" # 2 vCPUs
memory: "4096Mi" # 4 GiB
- name: busybox
image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
command: ["sleep"]
args: ["999999"]
resources:
limits:
cpu: "2000m" # 2 vCPUs
memory: "4096Mi" # 4 GiB
Exemple 3 : Plusieurs spécifications avec catégorie Economy
Utilisez k8s.aliyun.com/eci-use-specs pour spécifier plusieurs spécifications au niveau du pod avec un ordre de basculement, combinées à une seule catégorie de calcul.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: "2-4Gi,4-8Gi" # Try 2 vCPU/4 GiB first, then 4 vCPU/8 GiB
k8s.aliyun.com/eci-compute-category: "economy"
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80