Todos os produtos
Search
Central de documentação

Elastic Container Instance:Especifique ou exclua gerações específicas de famílias de instâncias ECS para criar um pod

Última atualização: Jun 28, 2026

Ao criar um pod do Elastic Container Instance informando o número de vCPUs e o tamanho da memória, talvez você precise de tipos específicos de instância do Elastic Compute Service (ECS). Por exemplo, suponha que deseje utilizar apenas famílias de instâncias ECS de sexta geração, como g6 ou c6, para criar o pod. Nesse caso, adicione a anotação k8s.aliyun.com/eci-instance-generation para definir a geração desejada das famílias de instâncias ECS. Este tópico descreve como especificar ou excluir gerações específicas de famílias de instâncias ECS durante a criação de um pod.

Descrição do recurso

Ao criar um pod do Elastic Container Instance definindo o número de vCPUs e o tamanho da memória, o sistema utiliza diversos tipos de instância ECS para viabilizar a criação. Ele seleciona automaticamente os tipos de instância que atendem aos requisitos de vCPU e memória e possuem recursos suficientes. Nessa situação, adicione a anotação k8s.aliyun.com/eci-instance-generation para especificar ou excluir gerações específicas de famílias de instâncias ECS.

  • Se você especificar gerações de famílias de instâncias ECS, o sistema selecionará tipos de instância ECS apenas dentro dessas gerações indicadas. Caso os recursos das gerações especificadas sejam insuficientes, o sistema não criará o pod.

  • Ao excluir gerações específicas de famílias de instâncias ECS, o sistema seleciona tipos de instância de outras gerações compatíveis com o Elastic Container Instance para criar o pod.

A tabela a seguir descreve as gerações de famílias de instâncias ECS que podem ser especificadas ou excluídas na criação de pods, bem como as famílias pertencentes a cada geração.

Arquitetura

Geração da família de instâncias ECS

Família de instâncias ECS

ARM

8

g8y, c8y e r8y

x86

8

g8i, c8i, r8i, hfg8i, hfc8i e hfr8i

7

g7, c7, r7, hfg7, hfc7, hfr7 e g7ne

6

g6e, g6, c6e, c6, r6e, r6, hfc6, hfg6

5

u1, g5, g5ne, c5, r5, ic5, hfc5 e hfg5

4

sn2ne, sn1ne, se1ne e se1

Para obter mais informações sobre os tipos de instância ECS, consulte os seguintes tópicos:

Precauções

  • Os pods criados com base em gerações específicas de famílias de instâncias ECS são faturados conforme o tipo de instância ECS efetivamente utilizado. O faturamento não considera o número de vCPUs e o tamanho de memória especificados inicialmente.

    Importante

    Após a criação do pod, execute o comando kubectl describe pod para visualizar os detalhes YAML do pod. O valor do campo k8s.aliyun.com/eci-instance-spec indica o tipo de instância ECS em uso pelo pod. O faturamento ocorre com base nesse tipo de instância ECS.

  • Ao especificar ou excluir gerações de famílias de instâncias ECS, o sistema não consegue selecionar automaticamente certos tipos de instância. Isso inclui tipos acelerados por GPU, como os da família gn6i, e tipos com discos locais, como os da família i2g. Para criar um pod usando tipos específicos de instância ECS, especifique diretamente esses tipos. Para mais detalhes, consulte Especificar tipos de instância ECS para criar pods.

  • É possível especificar ou excluir gerações de famílias de instâncias ECS para criar elastic container instances preemptíveis. Nesse cenário, o sistema escolhe o tipo de instância ECS mais adequado com base no preço de mercado e na ordem das gerações configuradas. Se houver requisitos rigorosos quanto às gerações, recomenda-se especificar apenas uma geração.

  • O recurso de especificar ou excluir gerações de famílias de instâncias ECS só entra em vigor quando os pods são criados mediante a definição do número de vCPUs e do tamanho da memória. Caso você defina tipos de instância ECS diretamente durante a criação do pod, esse recurso não terá efeito.

Descrição da configuração

Os valores válidos para k8s.aliyun.com/eci-instance-generation correspondem às gerações das famílias de instâncias ECS. Observe os seguintes pontos:

  • Várias gerações podem ser configuradas simultaneamente. Os valores aceitos são as gerações das famílias de instâncias ECS aptas para a criação de pods.

    Importante

    As famílias de instâncias ECS de oitava geração suportam exclusivamente a arquitetura ARM. Para criar um pod utilizando essas famílias, defina o campo nodeSelector a fim de agendar o pod em um nó virtual baseado em ARM. Não é permitido combinar famílias de oitava geração com aquelas que utilizam arquitetura x86. Na criação de pods baseados em ARM, não há necessidade de especificar ou excluir gerações específicas de famílias de instâncias ECS. Por exemplo, não é preciso excluir as famílias de oitava geração. Para mais informações, consulte Agendar pods em um nó virtual baseado em ARM e Tipos de instância ECS de arquitetura ARM.

  • Adicionar um sinal de menos (-) antes de uma geração de família de instâncias ECS resulta na exclusão dessa geração.

    Por exemplo, k8s.aliyun.com/eci-instance-generation: "-5,-4" determina a exclusão das famílias de instâncias ECS de quinta e quarta gerações, permitindo o uso das famílias de sétima ou sexta geração.

  • A seleção das gerações especificadas segue a ordem em que foram definidas.

    Como exemplo, a anotação k8s.aliyun.com/eci-instance-generation: "6,5" instrui o sistema a priorizar as famílias de instâncias ECS de sexta geração. Se os recursos dessas famílias que atendem às especificações de vCPU e memória forem insuficientes, o sistema recorre às famílias de quinta geração. Caso os recursos da quinta geração também estejam indisponíveis, nenhum pod será criado.

Antes de utilizar a anotação k8s.aliyun.com/eci-instance-generation, defina o número de vCPUs e o tamanho da memória através de um dos métodos abaixo:

  • Defina o parâmetro limits ou requests dos contêineres. Recomenda-se o uso do parâmetro limits.

  • Adicione a anotação k8s.aliyun.com/eci-use-specs aos metadados do pod.

Você pode usar conjuntamente k8s.aliyun.com/eci-instance-family para especificar ou excluir famílias de especificações ECS, permitindo um controle mais granular das especificações. Se ambos forem definidos, a anotação listada primeiro terá maior prioridade. Veja os exemplos a seguir:

  • Exemplo 1: A configuração em family tem prioridade sobre a configuração em generation; portanto, a ordem de seleção de especificações é ecs.c5 > ecs.c6.

    k8s.aliyun.com/eci-instance-family: "ecs.c5, ecs.c6"
    k8s.aliyun.com/eci-instance-generation: "6,5"
  • Exemplo 2: A configuração em generation tem prioridade sobre a configuração em family; logo, a ordem de seleção de especificações é ecs.c6e > c6 > g5.

    k8s.aliyun.com/eci-instance-generation": "6,5"
    k8s.aliyun.com/eci-instance-family: "ecs.c6e, ecs.g5, ecs.c6"

Exemplo 1: Especificar gerações de famílias de instâncias ECS

Parâmetro

Efeito

  • O parâmetro limits está configurado para definir recursos de vCPU e memória (2 vCPUs e 4 GiB de memória).

  • A anotação k8s.aliyun.com/eci-instance-generation: "6,5" está configurada. Essa anotação determina que o sistema utilize primeiro as famílias de instâncias ECS de sexta geração e, em seguida, as de quinta geração.

  • O sistema prioriza a seleção de tipos de instância nas famílias de sexta geração que atendem aos requisitos de especificação de vCPU e memória.

  • Caso os recursos das famílias de sexta geração sejam insuficientes, o sistema seleciona tipos de instância nas famílias de quinta geração.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-instance-generation: "6,5"    # Specifies that the sixth-generation ECS instance families and fifth-generation ECS instance families are used in sequence.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "2"       # Specifies the maximum number of vCPUs.        
            memory: "4Gi"  # Specifies the maximum memory size.

Exemplo 2: Excluir gerações de famílias de instâncias ECS

Parâmetro

Efeito

  • A anotação k8s.aliyun.com/eci-use-specs: "2-4Gi" está configurada para definir recursos de vCPU e memória (2 vCPUs, 4 GiB de memória).

  • A anotação k8s.aliyun.com/eci-instance-generation: "-5,-4" está configurada para excluir as famílias de instâncias ECS de quinta e quarta gerações.

O sistema seleciona tipos de instância nas famílias de sétima e sexta gerações que atendem aos requisitos de especificação de vCPU e memória.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                    # Specifies the vCPU and memory specifications in fuzzy search mode.
        k8s.aliyun.com/eci-instance-generation: "-5,-4"          # Excludes the fifth-generation and fourth-generation ECS instance families.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

Exemplo 3: Especificar gerações de famílias de instâncias ECS e excluir famílias específicas

Parâmetro

Efeito

  • A anotação k8s.aliyun.com/eci-use-specs: "2-4Gi" está configurada para definir recursos de vCPU e memória (2 vCPUs, 4 GiB de memória).

  • A anotação k8s.aliyun.com/eci-instance-generation: "6,5" está configurada. Essa anotação determina que o sistema utilize primeiro as famílias de instâncias ECS de sexta geração e, em seguida, as de quinta geração.

  • A anotação k8s.aliyun.com/eci-instance-family: "-ecs.hfg5" está configurada para excluir as famílias de instâncias ecs.hfg5.

  • O sistema prioriza a seleção de tipos de instância nas famílias de sexta geração que atendem aos requisitos de especificação de vCPU e memória.

  • Se os recursos das famílias de sexta geração forem insuficientes, o sistema seleciona tipos de instância nas famílias de quinta geração (exceto ecs.hfg5) compatíveis com o Elastic Container Instance.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                   # Specifies the vCPU and memory specifications.
        k8s.aliyun.com/eci-instance-generation: "6,5"           # Specifies that the sixth-generation and fifth-generation ECS instance families are used in sequence.
        k8s.aliyun.com/eci-instance-family: "-ecs.hfg5"           # Excludes the ecs.hfg5 instance family.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

Exemplo 4: Excluir gerações de famílias de instâncias ECS e famílias específicas

Parâmetro

Efeito

  • A anotação k8s.aliyun.com/eci-use-specs: "2-4Gi" está configurada para definir recursos de vCPU e memória (2 vCPUs, 4 GiB de memória).

  • A anotação k8s.aliyun.com/eci-instance-generation: "-5,-4" está configurada para excluir as famílias de instâncias ECS de quinta e quarta gerações.

  • A anotação k8s.aliyun.com/eci-instance-family: "-ecs.hfg6" está configurada para excluir a família de instâncias ecs.hfg6.

O sistema seleciona tipos de instância nas famílias de sétima e sexta gerações (exceto ecs.hfg6) que atendem aos requisitos de especificação de vCPU e memória.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                    # Specifies the vCPU and memory specifications in fuzzy search mode.
        k8s.aliyun.com/eci-instance-generation: "-5,-4"          # Excludes the fifth-generation and fourth-generation ECS instance families.
        k8s.aliyun.com/eci-instance-family: "-ecs.hfg6"            # Excludes the ecs.hfg6 instance family.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

Exemplo 5: Configurações inválidas

O recurso de especificar ou excluir gerações de famílias de instâncias ECS só funciona quando os pods são criados definindo-se o número de vCPUs e o tamanho da memória. Se os pods forem criados com a especificação direta de tipos de instância ECS, o recurso não terá efeito. Quando as gerações especificadas não surtirem efeito, um evento IgnoreInstanceTypeFeatures será gerado.

Nome do evento

Tipo

Mensagem do evento

Descrição do evento

IgnoreInstanceTypeFeatures

Warning

[eci.containergroup]The instance type features will be ignored as the provided specifications, [%s],correspond exclusively to ECS instance types.

A anotação k8s.aliyun.com/eci-use-specs define os tipos de instância ECS. Consequentemente, outras anotações destinadas a especificar gerações de famílias de instâncias ECS são ignoradas.

No exemplo abaixo, a anotação que especifica as famílias de instâncias ECS de sexta geração é ignorada automaticamente, e apenas o tipo de instância ecs.c5.large é usado para criar o pod:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "ecs.c5.large"   # Specifies a specific ECS instance type.
        k8s.aliyun.com/eci-instance-generation: "6"    # Specifies specific generations of ECS instance families. The setting does not take effect.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

Localize o evento IgnoreInstanceTypeFeatures nos eventos do Pod.

Configuração de múltiplas especificações

Ao definir múltiplas especificações, o sistema tenta criar o pod ECI sequencialmente, seguindo a ordem configurada. Nesse contexto, as regras de aplicação do recurso de especificação de gerações de instâncias ECS são as seguintes:

  • A primeira especificação na lista de múltiplas especificações deve ser uma definição genérica de vCPU e memória; caso contrário, o recurso de especificação de geração não funcionará.

    No exemplo a seguir, o sistema prioriza especificações ECS de sexta geração com 2 vCPUs e 4 GiB. Se não houver estoque suficiente para essa configuração, ele utilizará a especificação ecs.g5.large.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi,ecs.g5.large"   # 指定多规格,第一个规格是模糊的vCPU和内存规格
            k8s.aliyun.com/eci-instance-generation: "6"          # 指定ECS规格代数
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
  • Se houver várias definições genéricas de vCPU e memória entre as múltiplas especificações, a geração especificada será combinada sequencialmente com cada uma dessas definições genéricas.

    No exemplo abaixo, a seleção de especificações seguirá esta ordem: especificações ECS de sexta geração com 2 vCPUs e 4 GiB, especificações ECS de quinta geração com 2 vCPUs e 4 GiB, especificações ECS de sexta geração com 4 vCPUs e 8 GiB, e especificações ECS de quinta geração com 4 vCPUs e 8 GiB.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi,4-8Gi"      # 指定多个模糊的vCPU和内存规格
            k8s.aliyun.com/eci-instance-generation: "6,5"    # 指定多个ECS规格代数
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
  • Caso exista uma especificação ECS explícita na lista de múltiplas especificações, qualquer especificação genérica posterior a ela não aplicará o recurso de definição de geração.

    No exemplo a seguir, o sistema prioriza especificações ECS de sexta geração com 2 vCPUs e 4 GiB. Se o estoque for insuficiente, ele usará a especificação ecs.g5.large. Caso ecs.g5.large também esteja indisponível, o sistema recorrerá a especificações com 4 vCPUs e 8 GiB, sem restrição à sexta geração (nesse ponto, o recurso de especificação de geração perde o efeito).

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi,ecs.g5.large,4-8Gi"   # 指定多规格
            k8s.aliyun.com/eci-instance-generation: "6"                # 指定ECS规格代数(仅对明确ECS规格之前的模糊规格生效)
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80

Configurações ineficazes para múltiplas especificações

Nota

Em cenários de múltiplas especificações, se a primeira especificação for um tipo de instância ECS explícito, o recurso de especificação de geração de instâncias ECS não entrará em vigor.

No exemplo abaixo, o sistema prioriza a especificação ecs.c5.large. Se não houver estoque suficiente para ecs.c5.large, ele utilizará outras especificações ECS com 2 vCPUs e 4 GiB, sem se limitar à sexta geração (a anotação de especificação de geração será ignorada automaticamente).

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "ecs.c5.large,2-4Gi"  # 指定多规格,但第一个规格是明确的ECS规格
        k8s.aliyun.com/eci-instance-generation: "6"         # 指定ECS规格代数(实际不会生效)
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80