O ambiente de execução do contêiner é um software responsável por gerenciar contêineres e imagens de contêiner em um nó do Kubernetes. containerd é um ambiente de execução de contêiner gradual do CNCF (Cloud Native Cloud Foundation). Ele é compatível com o Kubernetes de maneira nativa e é considerado mais eficiente e seguro do que o Docker Engine para Kubernetes. Até o Kubernetes 1.20, o Docker Engine era o ambiente de execução do contêiner principal. Entretanto, o Dockershim, o código de integração do Docker Engine no Kubernetes, teve seu uso suspenso no Kubernetes 1.20 e foi removido no Kubernetes 1.24.
A partir de agora, use o containerd nos clusters.
Suporte a contêineres em um cluster de administrador
Os clusters do Anthos no VMware usam o containerd para todos os nós do cluster de administrador.
Suporte para o containerd em um cluster de usuário
Os clusters do Anthos no VMware são compatíveis com os seguintes tipos de imagem do SO para nós do cluster de usuário:
Tipo de imagem do SO | Ambiente de execução do contêiner |
---|---|
ubuntu | Mecanismo do Docker |
ubuntu_containerd | containerd |
cos | containerd |
windows | Docker Engine ou containerd |
O uso de containerd em nós do Windows é um recurso de prévia na versão 1.10.
Restrições e recomendações
A partir da versão 1.13.0, os clusters do Anthos no VMware não serão mais compatíveis com o tipo de imagem
ubuntu
do SO. Todos os nós do cluster usarão o ambiente de execução em contêiner.Não será possível fazer upgrade de um cluster que use o Docker Engine para a versão 1.13.
A partir da versão 1.12.0, não será mais possível criar novos clusters que usam o tipo de imagem
ubuntu
do SO. Ou seja, não será mais possível criar novos clusters que usam o ambiente de execução de contêiner do Docker Engine.Ao fazer upgrade de um cluster de usuário de 1.11 para 1.12, você poderá continuar usando o ambiente de execução do Docker Engine no cluster 1.12. No entanto, recomendamos que você atualize o cluster 1.11 para usar o ambiente de execução em contêiner antes de fazer upgrade para a versão 1.12.
Determinar quais pools de nós estão usando o Docker Engine
Ubuntu
Liste os pools de nós do Ubuntu que usam o Docker Engine:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get onpremnodepools \ -o json -A | jq -r '.items[] |select(.spec.osImageType == "ubuntu")|.metadata.name'
Substitua USER_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig do cluster de usuário.
Exemplo de saída:
ubuntu-node-pool-1 ubuntu-node-pool-3
Windows
Todos os pools de nós do Windows em um cluster de usuário usam o mesmo ambiente de execução do contêiner. O
ambiente de execução para nós do Windows é determinado pelo valor de
enableWindowsDataplaneV2
, que é um campo no arquivo de configuração do cluster
de usuário.
Se enableWindowsDataplaneV2
for true
, todos os nós do Windows no cluster
de usuário usarão o containerd. Se for false
, todos os nós do Windows usarão o Docker Engine.
Execute o seguinte comando para determinar quais clusters de usuários têm enableWindowsDataplaneV2
definido como false
. Isso informa quais clusters de usuário estão configurados para usar o Docker Engine em nós do Windows.
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get onpremuserclusters \ -A -o json | jq -r '.items[] |select(.spec.enableWindowsDataplaneV2 == false)|.metadata.name'
A saída lista todos os clusters de usuário configurados para usar o Docker Engine em nós do Windows. Exemplo:
user-cluster-1
Independentemente de um cluster de usuário ter pools de nós do Windows, se o cluster
tiver enableWindowsDataplaneV2
definido como false
, não será possível fazer upgrade
para a versão 1.13.
Atualizar pools de nós para usar o containerd
Para cada pool de nós d0 Linux no arquivo de configuração do cluster de usuário, defina osImageType
ubuntu_containerd
ou cos
.
Exemplo:
nodePools - name: "my-node-pool" osImageType: "ubuntu_containerd"
Atualize o cluster de usuário:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Substitua:
ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador
USER_CLUSTER_CONFIG: é o caminho do arquivo de configuração do cluster de usuário
Windows
A versão 1.10 de clusters do Anthos no VMware não é compatível com a atualização do ambiente de execução do contêiner para nós do Windows no Docker Engine para o containerd.