Die Containerlaufzeit ist Software, die für die Verwaltung von Containern und Container-Images auf einem Kubernetes-Knoten zuständig ist. Containerd ist eine abgestufte Containerlaufzeit von CNCF (Cloud Native Cloud Foundation). Kubernetes wird nativ unterstützt und als ressourceneffizienter und sicherer als Docker Engine für Kubernetes betrachtet. Bis Kubernetes 1.20 war Docker Engine die primäre Containerlaufzeit. Dockershim, der Integrationscode von Docker Engine in Kubernetes, wurde in Kubernetes 1.20 eingestellt und in Kubernetes 1.24 entfernt. Daher sollten Nutzer von Anthos-Clustern auf VMware (GKE On-Prem) so bald wie möglich containerd als ihre Containerlaufzeit verwenden.
Unterstützung für containerd in Anthos-Cluster auf VMware-Administratorclusterknoten
In Anthos-Cluster auf VMware 1.8 verwendet der Administratorcluster containerd auf allen Knoten: den Admin-Master-Knoten, Admin-Add-On-Knoten und User-Master-Knoten. Dies gilt sowohl für neue Administratorcluster als auch für bestehende, von 1.7.x aktualisierte Administratorcluster.
Unterstützung für containerd in Anthos-Cluster auf VMware-Nutzercluster-Knoten
Für Anthos-Cluster auf VMware 1.8 wird ein neuer Betriebssystem-Image-Typ ubuntu_containerd
eingeführt. Der Betriebssystem-Image-Typ ubuntu_containerd
verwendet dasselbe Betriebssystem-Image wie ubuntu
, aber der Knoten ist so konfiguriert, dass er als Containerlaufzeit anstelle von Docker Engine containerd
verwendet.
In Version 1.8 wird der Betriebssystem-Image-Typ ubuntu_containerd
standardmäßig für einen neuen Knotenpool verwendet, wenn osImageType
nicht angegeben ist. Wenn Sie jedoch einen vorhandenen Knotenpool von Version 1.7.x aktualisieren, verwenden die Knotenpools nach dem Upgrade weiterhin Docker Engine.
Wenn Sie die Docker Engine für einen neuen Knotenpool weiterhin verwenden möchten, müssen Sie ab Version 1.8 ubuntu
explizit als osImageType
angeben. Da die Unterstützung für Docker Engine in Kubernetes 1.24 eingestellt wird, sollten Sie Ihre Knotenpools so konvertieren, dass sie den Image-Typ ubuntu_containerd
des Betriebssystems verwenden.
Von einem Knotenpool verwendeten osImageType aktualisieren
Siehe OsImageType eines Knotenpools aktualisieren.
Migration von Docker Engine zu containerd
Diese Ressourcen bieten allgemeine Informationen zur Migration von Docker Engine zu containerd.
Knoten-Image-Typ prüfen
Sie können prüfen, welcher Image-Typ für vorhandene Knoten verwendet wird.
Zur Überprüfung mit kubectl:
kubectl get nodes -o wide --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Dabei gilt:
- ADMIN_CLUSTER_KUBECONFIG ist der Pfad der kubeconfig-Datei für Ihren Administratorcluster.
Die Ausgabe sieht etwa so aus:
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
Die Spalte CONTAINER-RUNTIME
gibt die Laufzeit und ihre Version aus.
Führen Sie zum Prüfen innerhalb des Knotens folgenden Befehl aus:
sudo crictl version
Die Ausgabe sieht etwa so aus:
Version: 0.1.0 RuntimeName: containerd RuntimeVersion: 1.4.3-0ubuntu0~18.04.1 RuntimeApiVersion: v1alpha2