Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Virtual node overview

Última atualização: Sep 17, 2026

Ao criar muitos pods rapidamente, a velocidade de dimensionamento dos nós ECS pode ser insuficiente. Além disso, manter nós ECS extras reservados gera desperdício de recursos. Os nós virtuais resolvem esse problema ao permitir o agendamento de pods para execução como instâncias do Elastic Container Instance (ECI), sem a necessidade de reservar ou manter um pool fixo de recursos. Isso proporciona elasticidade e reduz custos.

Por que usar nós virtuais

O que são nós virtuais

Em clusters ACK, os nós são as unidades básicas que fornecem recursos de computação e armazenamento para executar workloads. A maioria dos clusters ACK possui pelo menos um pool de nós ECS. Quando você cria um pod, o kubelet o agenda em um nó ECS dentro do pool. Esse modo de agendamento é ideal para aplicações com tráfego estável. No entanto, ele enfrenta dificuldades durante picos de tráfego, pois a criação e a inicialização de instâncias ECS consomem tempo. Os nós virtuais permitem agendar pods diretamente no Alibaba Cloud Elastic Container Instance (ECI), o que reduz a carga operacional de gerenciamento de nós e diminui custos ao evitar recursos ociosos.

image
Importante

Diferentemente dos nós ECS, os nós virtuais não suportam labels, annotations ou taints personalizados.

Um nó virtual utiliza o ack-virtual-node component para encapsular recursos de computação, permitindo implantar workloads sem gerenciar a infraestrutura subjacente. O componente agenda automaticamente os pods da aplicação para execução no ECI. O ECI é um service de contêineres serverless no qual cada instância equivale a um pod. Ao usar o ECI para implantar aplicações conteinerizadas, você fornece uma imagem de contêiner e paga apenas pelos recursos consumidos.

Benefícios

Os nós virtuais oferecem os seguintes benefícios:

  • Totalmente gerenciado: Não é necessário criar pools de recursos subjacentes, o que reduz a carga de O&M. Como recursos gerenciados, os nós virtuais dispensam operações rotineiras de O&M típicas de nós Kubernetes, como atualizações de sistema ou instalação de patches de segurança.

  • Alta capacidade: Escale horizontalmente até 50.000 pods sem planejamento prévio de capacidade.

    Importante

    Se muitos pods estiverem associados a services, recomendamos manter o número total abaixo de 20.000.

  • Elasticidade em segundos: Crie milhares de pods em pouco tempo. Isso evita que a latência na criação de pods afete os services durante picos de tráfego.

  • Isolamento seguro: Os pods são criados com base no ECI. Cada instância de contêiner possui forte isolamento das demais por meio de tecnologia leve de contêineres em sandbox.

  • Custo-benefício: As aplicações são provisionadas sob demanda e faturadas no modelo pagamento conforme o uso. Não há cobrança por recursos ociosos. A arquitetura serverless também reduz os custos de O&M.

Cenários

Os nós virtuais são adequados para os seguintes cenários:

  • Services online

    Para services online sujeitos a picos frequentes de tráfego, como educação online e e-commerce, os nós virtuais oferecem dimensionamento em segundos. Isso previne falhas no sistema causadas por escalonamentos lentos durante surtos de demanda e evita desperdício com recursos ociosos.

  • Processamento de dados

    No processamento de tarefas de dados online com alta concorrência, como jobs do Spark e Presto, a limitação de simultaneidade deixa de estar atrelada ao custo dos recursos subjacentes. Escale rapidamente para milhares de pods e atenda às demandas de big data.

  • Tarefas de IA

    Tarefas de IA, como treinamento e inferência de modelos, não rodam continuamente, mas exigem recursos computacionais significativos. Nesse caso, não é preciso reservar recursos; utilize-os sob demanda com faturamento por segundo para reduzir custos de inferência. Além disso, a elasticidade em nível de segundo permite responder rapidamente a cargas de trabalho repentinas.

  • Ambientes de teste de CI/CD

    Para tarefas de teste em lote no fluxo de CI/CD, como empacotamento, testes de estresse e simulações, os nós virtuais permitem criar e liberar instâncias de contêiner a qualquer momento. O uso sob demanda com cobrança por segundo oferece recursos em grande escala a baixo custo.

  • Jobs e CronJobs

    Jobs e CronJobs não precisam de execução contínua. Após a conclusão, o job para e o pod correspondente é excluído. Com nós virtuais, o faturamento cessa e os recursos computacionais são liberados automaticamente ao fim da tarefa, evitando desperdício.

Limites

Antes de utilizar nós virtuais, observe os seguintes limites:

  • Workloads do tipo DaemonSet não são suportados. Utilize um contêiner sidecar como alternativa.

  • Não especifique HostPath ou HostNetwork no manifest do pod.

  • Contêineres privilegiados não são suportados. Em vez disso, use Security Context para adicionar capacidades específicas.

    Nota

    O recurso de contêineres privilegiados está em preview interno. Para testá-lo, abra um ticket.

  • Services do tipo NodePort e afinidade de sessão não são suportados.

  • As regiões China (Shenzhen Finance) e China GovCloud não são suportadas.

Faturamento

Os nós virtuais são gratuitos. Os pods ECI executados neles seguem as regras de faturamento do ECI. Para mais detalhes, consulte ECI billing overview.

Nota

Os pods ECI utilizam o método de faturamento pagamento conforme o uso. A cobrança inicia quando o pod entra no status Pending e encerra quando atinge o status Succeeded ou Failed. Para mais informações, veja ECI pod lifecycle.

Como usar nós virtuais

Início rápido

Para saber como utilizar nós virtuais, consulte Schedule pods to run on ECI.

Implantar o componente ack-virtual-node

Após implantar o componente ack-virtual-node em um cluster ACK, o recurso de nó virtual estará habilitado.

ACK managed clusters

Em um ACK managed cluster, implante o componente ack-virtual-node pela página Component Management. O componente é gerenciado por padrão e não consome recursos dos nós workers.

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

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

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

    Durante a instalação, o vSwitch e o grupo de segurança padrão do cluster são usados como parâmetros iniciais de configuração do ECI. Para alterar esses valores posteriormente, atualize-os conforme descrito em configuring an eci-profile.

ACK dedicated clusters

Em um ACK dedicated cluster, implante o componente ack-virtual-node pela página Marketplace. Após a instalação, um deployment chamado ack-virtual-node-controller será criado no namespace kube-system. Esse deployment executa em um nó worker.

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Marketplace > Marketplace.

  2. Na página Marketplace, acesse a aba App Catalog. Pesquise e selecione ack-virtual-node. Na página do ack-virtual-node, clique em Deploy.

  3. No painel Create, selecione o cluster e o namespace desejados e clique em Next.

    O campo Namespace vem definido como kube-system e o Release Name como ack-virtual-node.

  4. Na página Parameters, escolha a versão mais recente em Chart Version. Na seção Parameters, configure os parâmetros do nó virtual e clique em OK.

    Parâmetro

    Obrigatoriedade

    Descrição

    Como obter

    ALIYUN_CLUSTERID

    Obrigatório

    id do cluster.

    Na aba Basic Information da página Cluster Information, copie o id do cluster.

    ALIYUN_RESOURCEGROUP_ID

    Opcional

    id do grupo de recursos.

    Se não configurado, o grupo de recursos padrão será utilizado. Para defini-lo, acesse o Resource Management console e obtenha o id do grupo de recursos de destino.

    ECI_REGION

    Obrigatório

    id da região.

    Na aba Basic Information da página Cluster Information, verifique a informação de Region.

    Nota

    Para entender a relação entre nomes de regiões e seus IDs, consulte Regions and zones.

    ECI_VPC

    Opcional

    id da vpc.

    Na aba Basic Information da página Cluster Information, copie o id da vpc do cluster.

    ECI_VSWITCH

    Obrigatório

    id do vSwitch.

    Lista de IDs de vSwitches usados para atribuir endereços IP aos pods da aplicação. Separe múltiplos IDs por vírgula (,), por exemplo: vsw-xxx1, vsw-xxx2. Recomendamos usar a mesma lista de vSwitches do pool de nós.

    Na página Node Pools, clique em um pool de nós. Na aba Details, encontre o id do vSwitch do nó na seção Node Configurations.

    Nota

    Certifique-se de que os vSwitches estejam em zonas suportadas pelo ECI.

    ECI_SECURITY_GROUP

    Obrigatório

    id do grupo de segurança.

    Na aba Basic Information da página Cluster Information, copie o id do grupo de segurança.

    ECI_ACCESS_KEY

    Obrigatório

    Seu AccessKey id.

    Para mais detalhes, veja Obtain an AccessKey pair.

    Conceda a política AliyunECIFullAccess ao usuário ram. Consulte Grant permissions to a RAM user para instruções.

    ECI_SECRET_KEY

    Obrigatório

    Seu AccessKey secret.

    Para mais detalhes, veja Obtain an AccessKey pair.

    Conceda a política AliyunECIFullAccess ao usuário ram. Consulte Grant permissions to a RAM user para instruções.

    KUBERNETES_APISERVER_HOST

    Obrigatório

    O endereço IP do servidor de api.

    Endereço IP e porta do endpoint interno do servidor de api. Essas informações estão disponíveis na aba Basic Information da página Cluster Information.

    KUBERNETES_APISERVER_PORT

    Obrigatório

    A porta do servidor de api.

  5. Verifique o status de implantação do componente ack-virtual-node.

    kubectl -n kube-system get deploy ack-virtual-node-controller

    Saída esperada:

    NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
    ack-virtual-node-controller   1/1     1            1           2m31s

Agendar pods para execução no ECI

O ACK oferece diversas soluções de agendamento para atender a diferentes requisitos em cenários de implantação híbrida de ECS e ECI. Para mais informações, consulte Schedule pods to a virtual node.

Nota

A arquitetura de CPU padrão dos pods ECI é x86 e o sistema operacional padrão é Linux. Para criar um pod ECI com arquitetura Arm ou sistema Windows, consulte Schedule pods to an Arm-based virtual node ou (Invitational Preview) Schedule pods to a Windows virtual node.

Configurar pods ECI com flexibilidade

Utilize annotations nos pods para configurar recursos do ECI, como definir especificações do pod, ativar cache de imagem para acelerar a criação, atribuir endereços IPv6 ou aumentar o espaço de armazenamento temporário. Para mais detalhes, veja ECI pod annotations.

Nota

Com o recurso ECI Effect de um eci-profile, é possível anexar dinamicamente as annotations necessárias aos pods ECI que atendem a condições específicas, facilitando a orquestração em lote.

Gerenciar nós virtuais

Atualizar o componente ack-virtual-node

Pode ser necessário atualizar o componente ack-virtual-node para acessar funcionalidades avançadas dos nós virtuais.

Importante

A atualização leva cerca de 1 minuto. Durante esse período, novos pods não podem ser criados, mas os existentes continuam funcionando normalmente.

ACK managed clusters

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

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

  3. Na página Add-ons, acesse a aba Core Components, localize ACK Virtual Node e clique em Upgrade. Siga as instruções na tela para finalizar a atualização.

ACK dedicated clusters

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

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Helm.

  3. Na lista do Helm, localize ack-virtual-node e clique em Update na coluna Actions. Na seção Version, selecione a versão mais recente do Chart.

  4. Na área de configuração de parâmetros, ajuste os valores necessários e clique em OK.

    Alternativamente, especifique virtualNode.image.tag para atualizar a imagem para uma versão específica.

Modificar a configuração do nó virtual

O eci-profile armazena configurações como a vpc e os vSwitches associados aos pods ACS e ECI, além da opção de ativar nós virtuais Arm. Atualize os itens de configuração fixos no campo data conforme necessário.

Excluir nós virtuais

Ao desinstalar o componente ack-virtual-node, o nó virtual é removido automaticamente e todos os pods ACS e ECI do cluster são limpos.

  1. Verifique os pods ACS e ECI no cluster para garantir que a exclusão não impactará seus services.

  2. Desinstale o componente ack-virtual-node.

    • ACK managed clusters: Na página Add-ons, desinstale o componente ack-virtual-node.

    • ACK dedicated clusters: Na página Helm, exclua o componente ack-virtual-node.

FAQ