Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Schedule pods on ECI with virtual nodes

Última atualização: Sep 21, 2026

execute pods no ECI em um cluster gerenciado do ACK para lidar com picos de tráfego sem gerenciar instâncias ECS.

Notas de uso

Se você usar o kube-scheduler v6.11.0 ou posterior e crie mais de 1.000 pods ACS ou ECI simultaneamente ao adicionar rótulos, atualize para a versão mais recente e ative o feature gate SchedulerBatchMoveEvents=true.

Casos de uso

Pods do ECI lidam com picos de tráfego e reduzem custos de computação:

  • Serviços online com padrões de tráfego flutuantes

    Responda a picos de tráfego com mais rapidez, reduza a manutenção do pool de recursos e diminua os custos de computação.

  • Tarefas de computação em lote ou de curta duração

    Não é necessário manter nós dedicados. Pague apenas pelos recursos de computação usados durante o execute, reduzindo custos de workloads como tarefas do Spark e de IA.

Pré-requisitos

O cluster do ACK deve execute o Kubernetes 1.16 ou posterior em uma região com suporte ao ECI.

Nota

Verifique as regiões com suporte em Regions and zones supported by ECI e, em seguida, faça logon no Elastic Container Instance console para ativar o ECI.

Procedimento

Etapa 1: Implantar o componente ack-virtual-node

Nota

As etapas a seguir usam um cluster gerenciado do ACK como exemplo. Para um cluster dedicado do ACK, instale o ack-virtual-node a partir da página Marketplace. Consulte Deploy the ack-virtual-node component.

  1. Faça logon no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique em nome do seu cluster. No painel de navegação à esquerda, clique em Components and Add-ons .

  3. Na página Add-ons, clique em guia Core Components, localize ACK Virtual Node e clique em Install. Siga as instruções na tela para concluir o instale.

    Durante o instale, o sistema usa o vSwitch e o grupo de segurança padrão do cluster como os parâmetros iniciais de configuração do ECI. Para modifique esses parâmetros, atualize-os configurando um eci-profile.

Etapa 2: Agendar um pod para o ECI

Nota

Estes exemplos agendam um pod para o ECI ao rotular o pod ou o namespace. Consulte Schedule a Pod to a virtual node para conhecer outros métodos.

Pod

Adicione o rótulo alibabacloud.com/eci: "true" a um pod para agendá-lo em um nó virtual de arquitetura x86 como um pod do ECI.

  1. crie um Deployment a partir do seguinte arquivo YAML.

    kubectl create -f eci-pod.yaml

    Exemplo de eci-pod.yaml:

    Nota

    A anotação k8s.aliyun.com/eci-use-specs especifique a configuração de computação do pod do ECI. Consulte Specify the compute specification of an ECI 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"             # Add this label to schedule the Pod to ECI. 
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi"   # Specify 2 vCPUs and 4 GiB of memory for the ECI pod.
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
  2. Verifique se o pod está em execução em um nó virtual.

    kubectl get pod -o wide -l app=nginx

    Saída esperada. A coluna NODE indica o nó virtual.

    NAME                    READY   STATUS    RESTARTS   AGE   IP            NODE                            NOMINATED NODE   READINESS GATES
    test-86f7fbc94f-g5m22   1/1     Running   0          38s   10.16.XX.XX   virtual-kubelet-cn-hangzhou-j   <none>           <none>
    test-86f7fbc94f-r4wcn   1/1     Running   0          38s   10.16.XX.XX   virtual-kubelet-cn-hangzhou-j   <none>           <none>
  3. Visualize os detalhes do pod do ECI.

    kubectl get pod <pod-name> -o yaml

    Verifique a anotação k8s.aliyun.com/eci-instance-id para obter o ID da instância do ECI e a anotação k8s.aliyun.com/eci-instance-spec para especifique a computação usada no faturamento.

Namespace

Para execute um conjunto de pods no ECI, crie um namespace e adicione o rótulo alibabacloud.com/eci: "true". O sistema agenda todos os pods desse namespace em um nó virtual de arquitetura x86 como pods do ECI.

  1. crie um namespace chamado vk e adicione o rótulo necessário.

    kubectl create ns vk
    kubectl label namespace vk alibabacloud.com/eci=true
  2. crie um Deployment no namespace vk.

    kubectl create -f eci-namespace.yaml

    Exemplo de eci-namespace.yaml:

    Nota

    A anotação k8s.aliyun.com/eci-use-specs especifique a configuração de computação do pod do ECI. Consulte Specify the compute specification of an ECI pod.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      namespace: vk       # Specify the labeled Namespace to schedule Pods to ECI.
      labels:
        app: test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: test
          labels:
            app: nginx
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi"   # Specify 2 vCPUs and 4 GiB of memory for the ECI pod.
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
  3. Verifique se o pod está em execução em um nó virtual.

    kubectl get pod -o wide -l app=nginx -n vk

    Saída esperada. A coluna NODE indica o nó virtual.

    NAME                   READY   STATUS    RESTARTS   AGE   IP            NODE                            NOMINATED NODE   READINESS GATES
    test-8f54bcfb5-86pvc   1/1     Running   0          14s   10.16.XX.XX   virtual-kubelet-cn-hangzhou-j   <none>           <none>
    test-8f54bcfb5-skvkg   1/1     Running   0          14s   10.16.XX.XX   virtual-kubelet-cn-hangzhou-j   <none>           <none>
  4. Visualize os detalhes do pod do ECI.

    kubectl get pod <pod-name> -o yaml -n vk

    Verifique a anotação k8s.aliyun.com/eci-instance-id para obter o ID da instância do ECI e a anotação k8s.aliyun.com/eci-instance-spec para especifique a computação usada no faturamento.