Os nós virtuais permitem agendar pods diretamente no Elastic Container Instance (ECI) sem provisionar ou manter pools de nós. Escale horizontalmente os pods durante picos de tráfego sem reservar nós ECS adicionais ou pagar por capacidade ociosa.
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.
Em comparação com os 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. Isso permite 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 em contêineres, forneça uma imagem de contêiner e pague 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 trabalho de O&M. Como recursos gerenciados, os nós virtuais dispensam operações rotineiras de O&M de nós Kubernetes, como atualizações de sistema ou instalação de patches de segurança.
-
Grande capacidade: Escale horizontalmente até 50.000 pods sem 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 apresenta forte isolamento das demais por meio de tecnologia de contêineres leves em sandbox.
Custo-benefício: As aplicações são criadas sob demanda e faturadas conforme o uso (pay-as-you-go). Não há cobrança por recursos ociosos. Além disso, a arquitetura serverless 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 com recursos ociosos.
-
Processamento de dados
No processamento de muitas tarefas de dados online simultâneas, como tarefas Spark e Presto, a concorrência deixa de ser limitada pelo custo dos recursos subjacentes. Escale rapidamente para milhares de pods a fim de atender aos requisitos 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 é necessário reservar recursos. Utilize os recursos sob demanda e pague por segundo para reduzir os custos de inferência de IA. 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 CI, testes de estresse e testes de simulação, utilize nós virtuais para criar e liberar instâncias de contêiner a qualquer momento. Use recursos sob demanda com cobrança por segundo. Essa abordagem fornece 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 de um job, ele 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 término do job. Isso evita desperdício por ociosidade.
Limitações
Antes de usar nós virtuais, verifique a compatibilidade dos seus workloads.
|
Capacidade |
Suporte |
Observações |
|
DaemonSets |
Não |
Use contêineres sidecar como alternativa. |
|
Volumes |
Não |
|
|
|
Não |
|
|
Contêineres privilegiados |
Não |
Use um contexto de segurança para adicionar capacidades a um pod. O recurso de contêiner privilegiado está em visualização interna. Para solicitar acesso, envie um ticket. |
|
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 visualização por convite. |
Faturamento
Os nós virtuais são gratuitos. Os pods ECI executados em nós virtuais 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. O faturamento começa quando um pod ECI entra no estado Pending e cessa quando o pod entra no estado Succeeded ou Failed. Para mais informações, consulte ECI pod lifecycle.
Início rápido
Para obter informações sobre como usar nós virtuais, consulte Schedule pods to run on ECI.
Próximos passos
Ao atualizar um cluster, o ACK verifica automaticamente se a versão da plataforma ECI é compatível com a versão de destino do Kubernetes. Antes da atualização, certifique-se da compatibilidade entre as duas versões. Exclua e recrie quaisquer pods baseados em ECI incompatíveis. Para detalhes, consulte Update Elastic Container Instance platform version.
|
Tarefa |
Descrição |
Referência |
|
Configure pods em massa |
Crie um ConfigMap |
|
|
Personalizar o comportamento do pod com anotações |
As anotações de pod abrangem recursos como tipos de instância ECI, cache de imagens para acelerar a criação de pods, endereços IPv6 e armazenamento temporário adicional. |
|
|
Escolha uma política de agendamento |
Agende pods exclusivamente para nós virtuais, use nós virtuais como fallback quando os recursos ECS estiverem indisponíveis ou combine o agendamento de ECS e ECI. A política de fallback prioriza os nós ECS (Assinatura ou Pagamento Conforme o Uso) e inverte a ordem de redução de escala. |
|
|
Ative o agendamento de nó virtual para um cluster |
Configure a política de agendamento no nível do cluster para rotear pods para nós virtuais. |
Enable the virtual node-based pod scheduling policy for an ACK cluster |
|
Agendar pods para o ECI |
Siga um guia passo a passo para agendar pods em instâncias de contêiner elásticas. |
|
|
Usar 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 instâncias de contêiner elásticas. |
|
|
Distribuir pods entre zonas |
Configure afinidade de zona para pods baseados em ECI a fim de melhorar a disponibilidade. |
Spread ECI pods across zones and configure affinity scheduling |
|
Utilizar nós virtuais baseados em ARM |
Por padrão, os clusters ACK agendam pods de workload em nós virtuais baseados em x86. Os pods ficam pendentes quando os nós x86 são insuficientes. Agende workloads em nós virtuais baseados em 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 |
|
Execute Jobs em nós virtuais |
Atenda a picos de demanda computacional executando Jobs em nós virtuais sem criar novos nós. |
|
|
Execute jobs Spark no ECI |
Configure políticas de agendamento para executar workloads Spark no ECI e pague apenas pelos recursos utilizados. |
|
|
Injetar contêineres sidecar |
O complemento ACK Virtual Node injeta automaticamente contêineres sidecar apenas nos pods de nós virtuais, desacoplando-os dos contêineres de negócio. |
|
|
Monitorar nós virtuais |
Modifique as configurações de monitoramento do Prometheus para coletar métricas de nós virtuais específicos. |
|
|
Configure descoberta de services |
Ative a descoberta de services (services de intranet, headless e ClusterIP) em nós virtuais usando o Alibaba Cloud DNS PrivateZone. |
Service discovery on virtual nodes based on Alibaba Cloud DNS PrivateZone |
|
Consultar perguntas frequentes |
Encontre respostas para dúvidas comuns sobre nós virtuais. |