Imagens de nós do Containerd


Esta página fornece informações sobre imagens de nós que usam o containerd como o tempo de execução do contentor nos seus nós do Google Kubernetes Engine (GKE).

Acerca do containerd

O tempo de execução do contentor é um software responsável pela execução de contentores e abstrai a gestão de contentores para o Kubernetes. Existem alguns runtimes de contentores diferentes.

O tempo de execução containerd é um tempo de execução de contentores que é a norma da indústria, suportado pelo Kubernetes e usado por muitos outros projetos. O tempo de execução do containerd oferece a abstração de camadas que permite a implementação de um conjunto avançado de funcionalidades, como o gVisor e o streaming de imagens, para expandir a funcionalidade do GKE.

O motor de execução do containerd é considerado mais eficiente em termos de recursos e mais seguro do que o motor de execução do Docker.

Usar imagens do containerd em clusters do GKE

Quando cria um novo cluster do GKE, um novo conjunto de nós num cluster existente ou quando atualiza um cluster existente, pode optar por usar uma imagem de nó do containerd. Os clusters do GKE Autopilot usam sempre o SO otimizado para contentores com o containerd.

A tabela seguinte descreve as imagens de nós de contentores suportadas com base no seu modo de cluster e no SO do conjunto de nós:

Modo de cluster SO do node pool Imagem do nó
Autopilot Linux cos_containerd
Padrão Linux
  • cos_containerd
  • ubuntu_containerd
Padrão Windows Server

Estas imagens requerem a versão 1.21.1-gke.2200 ou posterior do GKE.

Usar pods privilegiados para aceder ao Docker

Se os seus utilizadores acederem ao Docker Engine num nó através de um pod privilegiado, deve atualizar essas cargas de trabalho para que não haja uma dependência direta do Docker. Por exemplo, considere migrar o processo de extração de registos e monitorização do Docker Engine para suplementos do sistema GKE.

Criar imagens de contentores com o containerd

Não pode usar o containerd para criar imagens de contentores. As imagens Linux com o containerd incluem o binário do Docker para que possa usar o Docker para criar e enviar imagens. No entanto, não recomendamos a utilização de contentores individuais e nós locais para executar comandos de criação de imagens.

O Kubernetes não tem conhecimento dos recursos do sistema usados por processos locais fora do âmbito do Kubernetes, e o painel de controlo do Kubernetes não pode ter em conta esses processos ao atribuir recursos. Isto pode privar as cargas de trabalho do GKE de recursos ou causar instabilidade no nó.

Considere realizar estas tarefas através de outros serviços fora do âmbito do contentor individual, como o Cloud Build, ou use uma ferramenta como o kaniko para criar imagens como uma carga de trabalho do Kubernetes.

Se nenhuma destas sugestões funcionar para si e compreender os riscos, pode continuar a usar o Docker no nó local para criar imagens. Tem de enviar as imagens para um registo antes de as poder usar num cluster do GKE. O Kubernetes com o containerd não tem conhecimento das imagens criadas localmente com o Docker.

Depurar contentores em nós do containerd

Para depurar ou resolver problemas em nós Linux, pode interagir com o containerd através da ferramenta de linha de comandos portátil criada para os tempos de execução de contentores do Kubernetes: crictl. O crictl suporta funcionalidades comuns para ver contentores e imagens, ler registos e executar comandos nos contentores. Consulte o manual do utilizador do crictl para ver o conjunto completo de funcionalidades suportadas e informações de utilização.

Para nós do Windows Server, o daemon containerd é executado como um serviço do Windows com o nome containerd.

Os registos estão disponíveis da seguinte forma:

  • Windows: C:\etc\kubernetes\logs\containerd.log
  • Linux: execute journalctl -u containerd

Também pode ver os registos dos nós do Windows e Linux no Explorador de registos em LOG NAME: "container-runtime".

Problemas conhecidos e resolução de problemas

Para a resolução de problemas e problemas conhecidos com soluções alternativas, consulte o artigo Resolução de problemas do tempo de execução do contentor.

O que se segue?