Dimensione pods do seu cluster Kubernetes autogerenciado sem provisionar ou gerenciar máquinas virtuais. Os pods agendados em um nó virtual (VNode) são executados como elastic container instances e liberados imediatamente quando o tráfego diminui.
O ECI gerencia a camada de infraestrutura: agendamento de pods e alocação de recursos. O Kubernetes continua gerenciando as cargas de trabalho — Deployments, Services, StatefulSets e CronJobs — na camada de plataforma.
Como funciona
Implante um VNode no seu cluster Kubernetes autogerenciado. O VNode se registra como um nó nativo do Kubernetes e inclui virtual-kubelet e kube-proxy integrados, garantindo total compatibilidade com a API do Kubernetes.
Quando um pod é agendado no VNode, este provisiona e gerencia automaticamente a elastic container instance subjacente. Cada pod em um VNode executa como uma elastic container instance separada. A figura a seguir ilustra a arquitetura híbrida:

Os VNodes funcionam em clusters hospedados em data centers ou no Elastic Compute Service (ECS).
Conectar um VNode ao seu cluster
Há dois métodos disponíveis:
(Recomendado) Usar o VNodectl para implantar um VNode em um cluster Kubernetes autogerenciado — ferramenta de linha de comando que automatiza a implantação e a configuração do VNode.
Implantar manualmente um VNode em um cluster Kubernetes autogerenciado — implante e configure cada componente manualmente.
Agendar pods em um VNode
Para clusters com nós reais e VNodes, há dois modos de agendamento:
Agendamento manual
Configure nodeSelector e tolerations, ou defina nodeName diretamente na especificação do pod para direcioná-lo a um VNode. Consulte Agendar pods em um VNode.
Agendamento automático
Implante o componente eci-profile e configure um Selector. Os pods correspondentes ao seletor são agendados automaticamente no VNode. Consulte Usar o eci-profile para agendar pods em um VNode.
Limitações
Alguns recursos do Kubernetes não têm suporte devido a restrições de segurança da nuvem pública da Alibaba Cloud e à arquitetura do VNode. Caso suas cargas de trabalho dependam de algum desses recursos, use as alternativas recomendadas antes de migrar os pods para o ECI.
|
Recurso sem suporte |
Se sua carga de trabalho usar este recurso |
Alternativa recomendada |
|
HostPath |
Pods que montam arquivos do sistema de arquivos do host não executam em um VNode. |
Use volumes emptyDir, discos ou sistemas de arquivos do File Storage NAS (NAS). |
|
HostNetwork |
Pods que mapeiam portas do host para contêineres não executam em um VNode. |
Crie um Service do tipo LoadBalancer. |
|
DaemonSet |
DaemonSets não implantam pods em VNodes. Se sua aplicação exigir um daemon, reconfigure-a para executar no mesmo pod. |
Implante múltiplas imagens em um pod usando contêineres sidecar. |
|
Service do tipo NodePort |
Pods que mapeiam portas do host para contêineres não executam em um VNode. |
Crie um Service do tipo LoadBalancer. |
Faturamento
Cada VNode possui um nó residente equivalente a 2 vCPUs e 8 GiB de memória. O faturamento começa quando o nó residente atinge o estado Ready.
Preço de um VNode = (2 × preço unitário de vCPUs + 8 × preço unitário de memória) × duração da execução
Para consultar os preços unitários de vCPU e memória, consulte Faturamento de elastic container instances.
Os VNodes suportam tags, permitindo rastrear seus custos separadamente dos custos das elastic container instances. Verifique o status do nó residente na página Virtual Node no console do Elastic Container Instance.
Usar recursos do ECI
Adicione anotações às especificações dos pods para usar recursos específicos do ECI. As anotações devem seguir a sintaxe do Kubernetes e constar na seção metadata da configuração do pod.
Para aplicar anotações automaticamente, configure o eci-profile para adicioná-las aos pods com rótulos específicos, eliminando a necessidade de editar cada especificação de pod individualmente.
Para obter a lista completa de anotações com suporte e exemplos de configuração, consulte Anotações para pods baseados em Elastic Container Instance.
Próximos passos
Agendar pods em um VNode — agendamento manual com nodeSelector, tolerations e nodeName
Usar o eci-profile para agendar pods em um VNode — agendamento automático com seletores de rótulo
Anotações para pods baseados em Elastic Container Instance — referência completa de anotações