Todos los productos
Search
Centro de documentos

Elastic Container Instance:Especifique la cantidad de vCPU y el tamaño de memoria para crear un pod

Última actualización: Sep 21, 2026

En lugar de vincular su pod a un tipo de instancia ECS específico, especifique únicamente la cantidad de vCPU y el tamaño de memoria. Elastic Container Instance (ECI) selecciona automáticamente entre varios tipos de instancia ECS compatibles. Esto le ofrece mejor disponibilidad y elasticidad de recursos.

Cómo funciona el dimensionamiento de recursos

Cuando crea un pod, ECI asigna los valores de vCPU y memoria solicitados a una especificación compatible. Si la combinación exacta no está disponible, ECI redondea hacia arriba hasta la siguiente especificación compatible. Por lo tanto, el resultado siempre es mayor o igual a lo que solicitó. Por ejemplo, si solicita 7 vCPU y 13 GiB, obtendrá una instancia con 8 vCPU y 14 GiB.

Todas las especificaciones incluyen 30 GiB de almacenamiento temporal y una interfaz de red elástica (ENI) de forma predeterminada. Si no se establece ninguna configuración de recursos, ECI crea el pod con 2 vCPU y 4 GiB de memoria.

Especificaciones compatibles

Available en todas las regiones

vCPU

Memoria (GiB)

Ancho de banda (bidireccional, Gbit/s, límite máximo teórico)

0.25

0.5, 1

0.08

0.5

1, 2

0.08

1

2, 4, 8

0.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

Available solo en ciertas regiones

Importante

Las siguientes especificaciones son compatibles únicamente en estas regiones: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu) y Singapore. Si la región o zona que especifique no tiene capacidad para la especificación solicitada, la creación del pod fallará. Estas especificaciones no se pueden usar para preemptible instances.

vCPU

Memoria (GiB)

Ancho de banda (bidireccional, Gbit/s, límite máximo teórico)

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

Métodos de configuración

Existen dos métodos para establecer los valores de vCPU y memoria de un pod:

Método

Se configura en

Úselo cuando

limits o requests del contenedor

Cada contenedor

Necesite control de recursos o cuotas por contenedor individual

Anotación k8s.aliyun.com/eci-use-specs

Cada pod

Los contenedores compartan recursos libremente o se inyecten contenedores sidecar de forma automática (por ejemplo, en Istio o canalizaciones genómicas)

Si configura ambos métodos, eci-use-specs tiene prioridad. A continuación se muestra el orden completo de prioridad:

Configuración

Especificación de pod utilizada

Ninguno de los parámetros configurado

2 vCPU, 4 GiB

Solo limits

Suma de limits de todos los contenedores

Solo requests

Suma de requests de todos los contenedores

limits y requests

Suma de limits de todos los contenedores (se ignora requests)

Solo eci-use-specs

Valor de eci-use-specs

eci-use-specs con limits o requests

Valor de eci-use-specs

Si la especificación de pod resultante no está en la lista de opciones compatibles, ECI la redondea hacia arriba y le cobra según la especificación ajustada.

Establezca los recursos por contenedor

Este es el enfoque estándar de Kubernetes. Cada contenedor del pod declara su propio bloque resources. ECI suma los valores de todos los contenedores para determinar la especificación del pod. Un pod admite hasta 20 contenedores. Las especificaciones totales de vCPU y memoria de todos los contenedores deben ser menores o iguales a las especificaciones de vCPU y memoria del pod.

Diferencias entre limits y requests

  • limits: La cantidad máxima de CPU o memoria que puede usar un contenedor. ECI utiliza limits para calcular la especificación del pod. Dado que limits proporciona un límite superior preciso, utilice limits siempre que sea posible.

  • requests: La cantidad mínima reservada para el contenedor. Cuando se configura de forma aislada, ECI usa requests para dimensionar el pod.

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"
    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 for the nginx container
            memory: "1024Mi"  # 1 GiB for the nginx container
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        resources:
          limits:
            cpu: "1000m"      # 1 vCPU for the busybox container
            memory: "2048Mi"  # 2 GiB for the busybox container
          # Combined: 1.5 vCPUs, 3 GiB total -> ECI rounds up to the nearest supported spec
Para evitar que ECI considere un contenedor específico (como un sidecar) al dimensionar el pod, establezca una variable de entorno en ese contenedor para excluirlo. Para más detalles, consulte Ignore specific containers when the system adjusts resources .

Establezca los recursos para todo el pod

Agregue la anotación k8s.aliyun.com/eci-use-specs a la sección metadata del pod para configurar los valores de vCPU y memoria en el nivel del pod. Con este método, los parámetros limits y requests en el nivel de contenedor son opcionales, ya que los contenedores comparten libremente los recursos del pod.

Este método es adecuado para los siguientes escenarios:

  • Una malla de servicios (Istio) o un framework genómico inyecta contenedores sidecar de forma automática, lo que hace poco práctico dimensionar cada contenedor por separado.

  • Necesita desacoplar la asignación de recursos de las definiciones individuales de cada contenedor.

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"  # 2 vCPUs, 4 GiB for the entire pod
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        resources:
          limits:
            cpu: "500m"       # Optional: cap individual container usage
            memory: "1024Mi"
Si necesita restringir las familias de instancias ECS entre las que ECI puede elegir (por ejemplo, solo familias de sexta generación), agregue una anotación independiente para especificar las generaciones de familias de instancias. Para más detalles, consulte Specify generations of ECS instance families to create pods .

Temas relacionados