As instâncias de contêiner elásticas são executadas como pods em nós virtuais com suporte total à configuração do Kubernetes.
Os nós virtuais sustentam esse modelo. Baseados no Virtual Kubelet, eles permitem que as instâncias de contêiner elásticas apareçam como pods padrão no cluster, com suporte a todas as opções de configuração de pod: especificações, imagens, armazenamento e rede.
Nesta página: Configurações básicas | Ciclo de vida | Limitações | Orquestração de pods | Recursos estendidos
Configurações básicas
Especificações
Especifique CPU e memória ao criar um pod ou escolha um tipo de instância do Elastic Compute Service (ECS) para requisitos específicos de hardware, como inferência acelerada por GPU ou acesso a disco local. O faturamento varia conforme o tipo de especificação. Para mais informações, consulte Faturamento de instâncias de contêiner elásticas.
Para detalhes sobre a criação, consulte Criar uma instância de contêiner elástica.
Imagens
Um pod suporta até 20 contêineres. Antes da implantação, prepare uma imagem de contêiner que agrupe os programas, as bibliotecas e as configurações da aplicação.
Pull de imagens
Durante a inicialização, o containerd faz o pull das imagens de contêiner de um repositório remoto. O pull de imagens públicas requer acesso à Internet; portanto, configure um gateway NAT público para a Virtual Private Cloud (VPC) ou associe um Elastic IP Address (EIP) à instância.
Armazene as imagens no Container Registry para obter pulls mais rápidos pela rede privada sem necessidade de um Kubernetes Secret. Consulte Fazer pull de imagens de uma instância do Container Registry sem usar um Secret e Usar managed-aliyun-acr-credential-helper para fazer pull de imagens sem usar um secret.
Cache de imagens
O cache de imagens cria um snapshot a partir de uma imagem de contêiner. As instâncias subsequentes usam esse snapshot em vez de baixar as camadas novamente, o que acelera a inicialização. O CustomResourceDefinition (CRD) ImageCache vem ativado por padrão em clusters ACK Serverless. Consulte Usar ImageCache para acelerar a criação de instâncias de contêiner elásticas.
Armazenamento
Armazenamento temporário
Por padrão, cada pod recebe 30 GiB de armazenamento temporário gratuito para imagens de contêiner na inicialização. Se a carga de trabalho exigir mais espaço, consulte Aumentar o espaço de armazenamento temporário.
Armazenamento persistente
Monte volumes para compartilhar ou reter dados entre reinicializações de pods. Em clusters ACK Serverless, use o plug-in Container Storage Interface (CSI) para montar armazenamentos da Alibaba Cloud: discos, sistemas de arquivos do File Storage NAS (NAS) e buckets do Object Storage Service (OSS). Consulte Visão geral do CSI.
Para todas as opções de configuração, consulte Armazenamento.
Redes
Endereço IP privado
Cada pod recebe uma elastic network interface (ENI) de um vSwitch em sua VPC, com um endereço IP privado atribuído a partir desse vSwitch. A ordem de seleção do vSwitch é: anotação k8s.aliyun.com/eci-vswitch → PodNetworking → configuração do eci-profile. Para fixar um endereço IP privado, consulte Especificar um endereço IP privado para um pod e Configurar um endereço IP fixo para um pod.
Acesso à Internet
Por padrão, os pods possuem apenas endereços IP internos. Para acessar a Internet — por exemplo, para fazer pull de imagens públicas — associe um EIP ou adicione um gateway NAT. Consulte Habilitar acesso à Internet para pods.
IPv6
O Elastic Container Instance suporta IPv6 para oferecer um pool de endereços maior. Consulte Atribuir um endereço IPv6 a um pod baseado em Elastic Container Instance.
Para todas as opções de configuração, consulte Rede.
Contêineres
Configure comandos de inicialização, probes de liveness e readiness e contextos de segurança. Os padrões comuns do Kubernetes se aplicam normalmente. Consulte Configurações de contêiner.
Ciclo de vida
Os pods passam por estados distintos durante o ciclo de vida. Para visualizar o mapeamento de estados entre ECI e Kubernetes, consulte Ciclo de vida de um pod.
Limitações
Devido a restrições de segurança da nuvem pública da Alibaba Cloud e limitações dos nós virtuais, o Elastic Container Instance não suporta determinados recursos do Kubernetes.
|
Recurso não suportado |
Descrição |
Alternativa recomendada |
|
hostPath |
Monta arquivos de hosts on-premises nos contêineres |
Use volumes emptyDir, discos ou sistemas de arquivos do File Storage NAS (NAS) |
|
hostNetwork |
Mapeia uma porta do host para um contêiner |
Crie um Service do tipo LoadBalancer |
|
DaemonSet |
Implanta um pod estático em um host de contêiner |
Implante várias imagens em um pod usando contêineres sidecar |
|
Service do tipo NodePort |
Mapeia uma porta do host para um contêiner |
Crie um Service do tipo LoadBalancer |
Para a lista completa, consulte Limites.
Orquestração de pods
Para reduzir alterações no YAML do pod, use o eci-profile. Esse recurso fornece uma visão global dos recursos ECI no cluster e orquestra pods por seletor de rótulo. Consulte Configurar eci-profile.
Recursos estendidos
Cache de dados
Faça cache de grandes conjuntos de dados, como dados de treinamento de modelos, para que os pods montem as informações imediatamente na inicialização. Isso evita downloads repetidos e reduz tempo e custo. Consulte Visão geral do cache de dados.
Anotações de pods ECI
Adicione anotações aos pods em instâncias de contêiner elásticas para ativar recursos específicos do ECI. É possível adicioná-las manualmente na criação do pod ou usar o eci-profile para aplicá-las automaticamente por rótulo. Para a lista completa, consulte Anotação de pod ECI.