Il runtime container è un software responsabile della gestione di container e immagini di container su un nodo Kubernetes. Containerd è un runtime di container CNCF (Cloud Native Cloud Foundation) aggiornato. Supporta Kubernetes in modo nativo ed è considerato più efficiente e sicuro delle risorse rispetto a Docker Engine for Kubernetes. Fino a Kubernetes 1.20, Docker Engine era il runtime del container principale. Tuttavia, Dockershim, il codice di integrazione di Docker Engine in Kubernetes, è stato deprecato in Kubernetes 1.20 e verrà rimosso in Kubernetes 1.24. Pertanto, i cluster Anthos sugli utenti VMware (GKE on-prem) devono pianificare l'utilizzo di containerd per il runtime del container il prima possibile.
Supporto per Containerd nei cluster Anthos sui nodi del cluster di amministrazione VMware
Nei cluster Anthos su VMware 1.8, il cluster di amministrazione utilizza Containerd su tutti i nodi: il nodo master dell'amministratore, i nodi del componente aggiuntivo amministratore e i nodi master dell'utente. Questo vale sia per i nuovi cluster di amministrazione sia per quelli esistenti di cui è stato eseguito l'upgrade da 1.7.x.
Supporto per containerd in cluster Anthos su nodi di cluster utente VMware
Cluster Anthos su VMware 1.8 introduce un nuovo tipo di immagine del sistema operativo ubuntu_containerd
. Il tipo di immagine sistema operativo ubuntu_containerd
utilizza l'immagine del sistema operativo identica a ubuntu
, ma il nodo è configurato per utilizzare containerd
come runtime del container invece di Docker Engine.
Nella versione 1.8, per impostazione predefinita, se osImageType
non è specificato, il tipo di immagine del sistema operativo ubuntu_containerd
viene utilizzato per un nuovo pool di nodi. Tuttavia, se esegui l'upgrade di un pool di nodi esistente dalla versione 1.7.x, i pool di nodi continueranno a utilizzare Docker Engine dopo l'upgrade.
Se vuoi continuare a utilizzare Docker Engine per un nuovo pool di nodi, a partire dalla versione 1.8, devi specificare esplicitamente ubuntu
come osImageType
. Poiché il supporto Docker Engine sarà rimosso in Kubernetes 1.24, dovresti convertire i pool di nodi per l'utilizzo del tipo di immagine sistema operativo ubuntu_containerd
.
Aggiorna osImageType utilizzato da un pool di nodi
Consulta Aggiornamento di osImageType di un pool di nodi.
Migrazione da Docker Engine a containerd
Queste risorse forniscono informazioni generali sulla migrazione da Docker Engine a containerd.
Controllo del tipo di immagine nodo
Puoi controllare quale tipo di immagine viene utilizzato per i nodi esistenti.
Per eseguire il controllo con kubectl:
kubectl get nodes -o wide --kubeconfig ADMIN_CLUSTER_KUBECONFIG
dove:
- ADMIN_CLUSTER_KUBECONFIG è il percorso del file kubeconfig per il cluster di amministrazione.
L'output è simile al seguente:
NAME ... OS-IMAGE ... CONTAINER-RUNTIME node-1 Ubuntu 18.04.5 LTS containerd://1.4.3 node-2 Ubuntu 18.04.5 LTS containerd://1.4.3 node-3 Ubuntu 18.04.5 LTS containerd://1.4.3
La colonna CONTAINER-RUNTIME
restituisce il runtime e la relativa versione.
Per controllare all'interno del nodo, esegui:
sudo crictl version
L'output è simile al seguente:
Version: 0.1.0 RuntimeName: containerd RuntimeVersion: 1.4.3-0ubuntu0~18.04.1 RuntimeApiVersion: v1alpha2