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 |
|
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?
- Saiba mais acerca da integração do containerd no anúncio do Kubernetes 1.11. Para mais informações, visite a documentação do containerd e dos plug-ins CRI.
- Reveja as informações de migração do Dockershim em kubernetes.io.
- Leia sobre a descontinuação do Dockershim pelo Kubernetes.
- Saiba como pode proteger as suas apps com o gVisor no containerd.
- Leia acerca das vantagens da utilização do Cloud Build para criar imagens de forma segura e fiável no Trusted Cloud by S3NS para substituir uma solução personalizada que possa exigir o Docker.
- Personalize a configuração do containerd nos nós do GKE.