A partir do Marco 101, O Container-Optimized OS publica imagens de SO baseadas em ARM. As imagens podem ser usadas para criar VMs Tau T2A no Compute Engine. Para saber mais sobre que tipos de cargas de trabalho funcionam bem com o Tau T2A, consulte Recomendações de carga de trabalho. Para saber como executar cargas de trabalho Arm no Google Kubernetes Engine (GKE), consulte Armem cargas de trabalho no GKE.
Como visualizar imagens baseadas em ARM
As imagens do Container-Optimized OS baseadas em ARM são hospedadas em cos-cloud
com o prefixo cos-arm64
. Também é possível ver todos os modelos disponíveis
na linha de comando executando o seguinte comando:
gcloud compute images list --project cos-cloud --no-standard-images --filter="name~'cos-arm64-*'"
O resultado será assim:
NAME PROJECT FAMILY DEPRECATED STATUS
cos-arm64-101-17162-40-5 cos-cloud cos-arm64-101-lts READY
cos-arm64-beta-101-17162-40-5 cos-cloud cos-arm64-beta READY
cos-arm64-dev-105-17228-0-0 cos-cloud cos-arm64-dev READY
cos-arm64-stable-101-17162-40-5 cos-cloud cos-arm64-stable READY
As imagens do Container-Optimized OS baseadas em ARM compartilham o mesmo
esquema de controle de versão e LTS
ciclo de vida do marco
com imagens baseadas em x86. Há também famílias de imagens semelhantes cos-arm64-dev
,
cos-arm64-beta
, cos-arm64-stable
e cos-arm64-[MILESTONE]-lts
para
Imagens do Container-Optimized OS baseadas em ARM.
Diferenças entre imagens Arm e x86
As imagens do Container-Optimized OS baseadas em ARM e em x86 compartilham a mesma código-fonte, mas as configurações de build e compilação são diferentes. Isso significa A imagem do Container-Optimized OS baseada em ARM pode não ser funcionalmente idêntica com uma imagem do Container-Optimized OS baseada em x86 para a versão anterior.
As seções a seguir descrevem as diferenças entre arquiteturas Arm e do Container-Optimized OS com base em x86.
Kernel
As imagens baseadas em ARM do Container-Optimized OS têm uma configuração de kernel separada diferente das imagens baseadas em x86. A diferença mais perceptível é que As imagens baseadas em ARM usam a interface NVMe para armazenamento em vez da interface SCSI. NIC virtual do Google (gVNIC) para em vez da Virtionet. O Detecção de ameaças a contêineres também não funciona em imagens baseadas em ARM.
Agente do Cloud Logging
As imagens baseadas em Arm do Container-Optimized OS usam o fluent-bit como agente de registro do Cloud, e as imagens baseadas em x86 usam o fluentd. Você não verá nenhuma diferença se confiar apenas no configuração padrão da geração de registros incorporada nas imagens do SO. No entanto, se você tiver configurações personalizadas do fluentd, poderá haver falhas ao migrar cargas de trabalho para imagens do Container-Optimized OS baseadas em ARM. Para mais informações, consulte o agente do Cloud Logging.
Atualizações automáticas
As atualizações automáticas não são compatíveis com imagens baseadas em Arm do Container-Optimized OS.
Aceleradores da GPU
O uso de aceleradores de hardware da unidade de processamento gráfico (GPU) não é compatível com Imagens baseadas em ARM do Container-Optimized OS.
Como criar instâncias com o comando create-with-container
As imagens baseadas em ARM do Container-Optimized OS não oferecem suporte à criação de instâncias de VM
com o create-with-container
kubectl. É possível usar
cloud-init
para configurar instâncias baseadas em Arm se você quiser iniciar contêineres quando as instâncias
forem criadas.
Imagens do Container
O Container-Optimized OS inclui ferramentas que fazem o download containers em no ambiente de execução. A tabela a seguir descreve quais contêineres são compatíveis Imagens baseadas em ARM:
Imagens do Container | Compatível com imagens baseadas em ARM |
---|---|
gcr.io/cos-cloud/toolbox | Sim |
gcr.io/cos-cloud/cos-gpu-installer | Não |
gcr.io/stackdriver-agents/stackdriver-logging-agent | Não |
gcr.io/gce-containers/konlet | Não |