Todos os produtos
Search
Central de documentação

Elastic Container Instance:Specify the number of vCPUs and memory size to create a pod

Última atualização: Sep 21, 2026

Em vez de fixar seu pod a um tipo específico de instância ECS, especifique apenas a quantidade de vCPUs e o tamanho de memória. O Elastic Container Instance (ECI) selecione automaticamente entre vários tipos de instância ECS compatíveis, proporcionando maior disponibilidade de recursos e elasticidade.

Como o dimensionamento de recursos funciona

Ao criar um pod, o ECI mapeia as vCPUs e a memória solicitadas para uma especificação compatível. Se a combinação exata não estiver disponível, o ECI arredonda para a próxima especificação compatível — o resultado é sempre maior ou igual ao que foi solicitado. Por exemplo, ao solicitar 7 vCPUs e 13 GiB, a instância criada terá 8 vCPUs e 14 GiB.

Todas as especificações incluem 30 GiB de armazenamento temporário e uma interface de rede elástica (ENI) por padrão. Se nenhuma configuração de recursos for definida, o ECI cria o pod com 2 vCPUs e 4 GiB de memória.

Especificações compatíveis

Disponíveis em todas as regiões

vCPU

Memória (GiB)

Largura de banda (bidirecional, Gbit/s, limite teórico máximo)

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

Disponíveis apenas em regiões selecionadas

Importante

As especificações abaixo têm suporte apenas nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu) e Singapore. Se a região ou zona especificada não tiver capacidade para a especificação solicitada, a criação do pod falhará. Essas especificações não podem ser usadas para instâncias preemptíveis.

vCPU

Memória (GiB)

Largura de banda (bidirecional, Gbit/s, limite teórico máximo)

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 configuração

Dois métodos permitem definir vCPU e memória para um pod:

Método

Aplicado em

Indicado quando

limits ou requests por container

Por container

É necessário controle de recursos ou cotas individuais por container

Anotação k8s.aliyun.com/eci-use-specs

Por pod

Os containers compartilham recursos livremente, ou containers sidecar são injetados automaticamente (por exemplo, em Istio ou pipelines de genômica)

Quando os dois métodos estão configurados, eci-use-specs tem precedência. A ordem completa de prioridade é:

Configuração

Especificação do pod utilizada

Nenhum parâmetro definido

2 vCPUs, 4 GiB

Apenas limits

Soma de limits em todos os containers

Apenas requests

Soma de requests em todos os containers

limits e requests

Soma de limits em todos os containers (requests é ignorado)

Apenas eci-use-specs

Valor de eci-use-specs

eci-use-specs com limits ou requests

Valor de eci-use-specs

Se a especificação resultante do pod não estiver na lista de especificações compatíveis, o ECI arredonda para cima e cobra com base na especificação ajustada.

Definir recursos por container

Esta é a abordagem padrão do Kubernetes. Cada container no pod declara seu próprio bloco resources, e o ECI soma os valores de todos os containers para determinar a especificação do pod. Um pod pode ter até 20 containers, e a soma das especificações de vCPU e memória de todos os containers deve ser menor ou igual às especificações de vCPU e memória do pod.

Entendendo limits vs. requests

  • limits: o máximo de CPU ou memória que um container pode usar. O ECI utiliza limits para calcular a especificação do pod. Como limits define um limite superior preciso, use limits sempre que possível.

  • requests: a quantidade mínima reservada para o container. Quando definido isoladamente, o ECI usa requests para dimensionar o 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 impedir que um container específico (como um sidecar) seja contabilizado no dimensionamento do pod pelo ECI, defina uma variável de ambiente nesse container para excluí-lo. Para detalhes, consulte Ignore specific containers when the system adjusts resources .

Definir recursos para o pod inteiro

Adicione a anotação k8s.aliyun.com/eci-use-specs à seção metadata do pod para definir vCPU e memória no nível do pod. Os parâmetros limits e requests por container são opcionais com este método — os containers compartilham livremente os recursos do pod.

Este método é adequado quando:

  • Containers sidecar são injetados automaticamente por um service mesh (Istio) ou um framework de genômica, tornando o dimensionamento por container impraticável.

  • É necessário desacoplar a alocação de recursos das definições individuais de cada container.

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"
Para restringir quais famílias de instâncias ECS o ECI pode selecione (por exemplo, apenas famílias de sexta geração), adicione uma anotação separada para especifique as gerações de famílias de instâncias. Para detalhes, consulte Specify generations of ECS instance families to create pods .

Tópicos relacionados