Os nós virtuais permitem agendar pods diretamente no Elastic Container Instance (ECI) sem provisionar ou manter pools de nós. Este tópico explica o funcionamento dos nós virtuais, quando utilizá-los e suas limitações.
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 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). Isso reduz a carga operacional de gerenciamento de nós e diminui custos ao evitar recursos ociosos.
Diferentemente dos nós ECS, os nós virtuais não suportam rótulos, anotações ou taints personalizados.
Um nó virtual utiliza o ack-virtual-node component para encapsular recursos de computação e permitir a implantação de 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 para até 50.000 pods sem necessidade de planejamento de capacidade.
ImportanteSe muitos pods estiverem associados a services, recomendamos manter o número de pods 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 criadas 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:
-
Serviços online
Para services online sujeitos a picos frequentes de tráfego, como educação online e e-commerce, os nós virtuais suportam dimensionamento em segundos. Isso previne falhas no sistema causadas por escalonamentos lentos durante surtos de tráfego e evita desperdício de recursos ociosos.
-
Processamento de dados
No processamento de diversas tarefas de dados online simultâneas, como jobs do Spark e Presto, a concorrência deixa de ser limitada pelo custo dos recursos subjacentes. É possível escalar rapidamente para milhares de pods e atender às demandas de big data.
-
Tarefas de IA
Tarefas de IA, como treinamento e inferência de modelos, não executam 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 workloads repentinas.
-
Ambientes de staging de CI/CD
Em tarefas de teste em lote no processo de CI/CD, como empacotamento, testes de estresse e simulações, utilize nós virtuais para criar e liberar instâncias de contêiner a qualquer momento. O uso de recursos sob demanda com cobrança por segundo oferece recursos em grande escala a baixo custo.
-
Jobs e CronJobs
Jobs e CronJobs não precisam executar continuamente. Após a conclusão, o job para e o pod correspondente é excluído. Com nós virtuais, o faturamento cessa e os recursos de computação são liberados automaticamente ao fim do job, evitando desperdício.
Limitações
Antes de utilizar nós virtuais, verifique a compatibilidade dos seus workloads.
|
Capacidade |
Suportado |
Observações |
|
DaemonSets |
Não |
Utilize contêineres sidecar como alternativa. |
|
Volumes |
Não |
|
|
|
Não |
|
|
Contêineres privilegiados |
Não |
Use um contexto de segurança para adicionar capacidades ao pod. O recurso de contêiner privilegiado está em preview interno — envie um ticket para solicitar acesso. |
|
Serviços NodePort |
Não |
|
|
Afinidade de sessão |
Não |
|
|
Região china South Finance |
Não |
|
|
Região alibaba Gov cloud |
Não |
|
|
Nós virtuais baseados em ARM |
Sim |
|
|
Nós virtuais Windows |
Sim |
Em preview por convite. |
Faturamento
Os nós virtuais são gratuitos. Os pods ECI executados neles seguem as regras de faturamento do ECI. Para mais informações, consulte ECI billing overview.
Os pods ECI utilizam o método de faturamento pagamento conforme o uso. A cobrança inicia quando o pod entra no estado Pending e encerra quando atinge o estado Succeeded ou Failed. Para mais detalhes, veja ECI pod lifecycle.
Início rápido
Para saber como utilizar nós virtuais, consulte Schedule pods to run on ECI.
Próximos passos
Antes de atualizar seu cluster, certifique-se de que a versão da plataforma ECI seja compatível com a versão alvo do Kubernetes. Caso existam pods incompatíveis baseados em ECI, exclua-os e recrie-os antes da atualização. Para detalhes, consulte Update Elastic Container Instance platform version.
|
Tarefa |
Descrição |
Referência |
|
Configurar pods em massa |
Crie um ConfigMap |
|
|
Personalizar comportamento via anotações |
Utilize anotações de pod para especificar tipos de instância ECI, ativar cache de imagem, atribuir endereços IPv6 ou expandir armazenamento temporário. |
|
|
Escolher política de agendamento |
Agende pods exclusivamente em nós virtuais, use-os como fallback quando recursos ECS estiverem indisponíveis ou combine agendamentos ECS e ECI. |
|
|
Ativar agendamento em nó virtual para o cluster |
Configure a política de agendamento no nível do cluster para rotear pods aos nós virtuais. |
Enable the virtual node-based pod scheduling policy for an ACK cluster |
|
Agendar pods no ECI |
Siga o guia passo a passo para agendar pods em elastic container instances. |
|
|
Utilizar poder computacional do ACS |
Acesse o poder computacional do ACS por meio de um cluster gerenciado ACK Pro edition. |
Use ACS computing power through ACK managed cluster Pro edition |
|
Combinar alocação de recursos ECS e ECI |
Configure o agendamento para dividir workloads entre instâncias ECS e elastic container instances. |
Configurar alocação de recursos baseada em instâncias ECS e elastic container instances |
|
Distribuir pods entre zonas |
Configure afinidade de zona para pods baseados em ECI e aumente a disponibilidade. |
Distribuir pods baseados em Elastic Container Instance entre zonas e configurar afinidades |
|
Usar nós virtuais baseados em ARM |
Por padrão, clusters ACK agendam pods de workload em nós virtuais x86. Os pods ficam pendentes quando os nós x86 são insuficientes. Agende workloads em nós virtuais ARM para lidar com esses casos. |
|
|
Utilizar nós virtuais Windows |
Adicione nós virtuais Windows ao cluster e agende pods neles. |
(In invitational preview) Schedule pods to run on Windows virtual nodes |
|
Executar Jobs em nós virtuais |
Atenda à demanda computacional de pico executando Jobs em nós virtuais sem criar novos nós. |
|
|
Executar jobs Spark no ECI |
Defina políticas de agendamento para executar workloads Spark no ECI e pague apenas pelos recursos utilizados. |
|
|
Injetar contêineres sidecar |
Utilize o componente ACK Virtual Node para injetar automaticamente contêineres sidecar nos pods em nós virtuais. |
|
|
Monitorar nós virtuais |
Modifique configurações de monitoramento do Prometheus para coletar métricas de nós virtuais específicos. |
|
|
Configurar descoberta de services |
Ative a descoberta de services (intranet, headless e ClusterIP) em nós virtuais usando Alibaba Cloud DNS PrivateZone. |
Service discovery on virtual nodes based on Alibaba Cloud DNS PrivateZone |
|
Consultar FAQs |
Encontre respostas para perguntas frequentes sobre nós virtuais. |