Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd

Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd

Docker ist eine sehr beliebte Containertechnologie. In vielen Artikeln hieß es, dass sie von K8S aufgegeben und durch eine andere Containertechnologie ersetzt wurde: containerd! Tatsächlich ist containerd nur die zugrunde liegende Containerlaufzeit, die von Docker getrennt ist, und seine Verwendung unterscheidet sich nicht von Docker. Dieser Artikel stellt hauptsächlich die Verwendung von containerd vor und ich hoffe, er wird für alle hilfreich sein!

Einführung in containerd

Containerd ist eine branchenübliche Container-Laufzeitumgebung, bei der Einfachheit, Robustheit und Portabilität im Vordergrund stehen. Containerd kann den gesamten Container-Lebenszyklus im Host verwalten, einschließlich der Übertragung und Speicherung von Container-Images, der Ausführung und Verwaltung von Containern, der Speicherung und der Vernetzung.

Docker vs. Containerd

Containerd ist ein von Docker getrenntes Projekt, das als Container-Laufzeitumgebung auf niedriger Ebene verwendet werden kann. Jetzt ist es eine bessere Wahl für die Kubernetes-Container-Laufzeitumgebung geworden.

Nicht nur Docker, sondern auch viele Cloud-Plattformen unterstützen Containerd als zugrunde liegende Container-Laufzeitumgebung. Weitere Einzelheiten finden Sie in der folgenden Abbildung.

K8S CRI

K8S hat CRI (Container Runtime Interface) veröffentlicht, das die Container-Laufzeitschnittstelle vereinheitlicht. Jede Container-Laufzeit, die CRI unterstützt, kann als zugrunde liegende Container-Laufzeit von K8S verwendet werden.

Warum verzichtet K8S auf Docker als Container-Laufzeitumgebung und verwendet containerd?

Wenn Sie Docker als K8S-Containerlaufzeit verwenden, muss Kubelet zuerst Docker über dockershim und dann Containerd über Docker aufrufen.

Wenn Sie containerd als K8S-Containerlaufzeit verwenden, kann kubelet containerd direkt aufrufen, da containerd über ein integriertes CRI Plug-In verfügt.

Durch die Verwendung von containerd wird nicht nur die Leistung verbessert (die Aufrufkette wird kürzer), sondern auch der Ressourcenverbrauch reduziert (Docker ist keine reine Container-Laufzeitumgebung und verfügt über zahlreiche weitere Funktionen).

Verwendung von containerd

Wenn Sie Docker bereits verwendet haben, können Sie containerd in nur 5 Minuten erlernen. Als Nächstes lernen wir, wie man containerd verwendet.

  • Im vorherigen Artikel „Es hieß, dass nur High-End-Maschinen K8S ausführen können. Internetnutzer: Der Müll mit 1 GB Speicher kann es ausführen!“ 》 Wir haben K3S installiert. Da K3S standardmäßig containerd als Containerlaufzeit verwendet, können wir es verwenden, solange wir K3S installieren.
  • Tatsächlich können wir containerd betreiben, indem wir einfach den docker -Befehl, den wir zuvor verwendet haben, in den Befehl crictl ändern, um beispielsweise alle laufenden Container anzuzeigen;

crictl ps

CONTAINER IMAGE ERSTELLT STATUS NAME VERSUCH POD ID
4ca73ded41bb6 3b0b04aa3473f Vor weniger als einer Sekunde Running helm 20 21103f0058872
3bb5767a81954 296a6d5035e2d Vor etwa einer Minute Ausführen von coredns 1 af887263bd869
a5e34c24be371 0346349a1a640 Vor etwa einer Minute Läuft nginx 1 89defc6008501

Alle Bilder anzeigen;

crictl-Bilder

BILD-TAG BILD-ID GRÖSSE
docker.io/library/nginx 1.10 0346349a1a640 71,4 MB
docker.io/rancher/coredns-coredns 1.8.0 296a6d5035e2d 12,9 MB
docker.io/rancher/klipper-helm v0.4.3 3b0b04aa3473f 50,7 MB
docker.io/rancher/local-path-provisioner v0.0.14 e422121c9c5f9 13,4 MB
docker.io/rancher/metrics-server v0.3.6 9dd718864ce61 10,5 MB
docker.io/rancher/pause 3.1 da86e6ba6ca19 327kB

Rufen Sie den Container auf und führen Sie den Bash-Befehl aus. Beachten Sie, dass Sie nur die Container-ID verwenden können, nicht den Containernamen.

crictl exec -it a5e34c24be371 /bin/bash

Überprüfen Sie die Ressourcennutzung der Anwendungen im Container und Sie werden feststellen, dass sie sehr niedrig ist.

Crictl-Statistiken

CONTAINER CPU % MEM DISK INODES
3bb5767a81954 0,54 14,27 MB 254 B 14
a5e34c24be371 0,00 2,441 MB 339 B 16

Zusammenfassen

Die Konvertierung von Docker zu Containerd ist sehr einfach und weist im Grunde keine Barrieren auf. Ändern Sie einfach docker im vorherigen Docker-Befehl crictl und es ist im Grunde erledigt. Wie erwartet handelt es sich um Produkte, die von derselben Firma hergestellt werden und die Verwendung ist dieselbe. Unabhängig davon, ob K8S Docker aufgibt oder nicht, hat dies grundsätzlich keine Auswirkungen auf unsere Entwickler!

Dies ist das Ende dieses Artikels darüber, wie Sie sich in 5 Minuten von Docker verabschieden und zu Containerd wechseln können. Weitere Informationen zur Konvertierung von Docker zu Containerd finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Sprechen Sie über das Problem des Ersetzens von Docker (Shim) durch Containerd in Kubernetes1.20
  • So führen Sie den Betrieb nach dem Verlassen des Docker-Containers weiter aus
  • Docker entfernt abnormale Containervorgänge
  • Docker stellt Containern dynamisch Ports zur Verfügung
  • Löschen Sie den Image-Vorgang von „none“ in Docker-Images
  • Durchführung der lokalen Migration von Docker-Images
  • Lösen Sie das Problem verschwindender Docker-Images
  • Docker-Image kann nicht gelöscht werden. Fehler: Kein solches Image: xxxxxx-Lösung
  • So löschen Sie ein Image in Docker
  • Benennen von Containern und Images in Docker

<<:  Detaillierte Erläuterung der Probleme und Lösungen beim flexiblen Mehrspaltenlayout

>>:  Ähnlich wie HTML-Tags: strong und em, q, cite, blockquote

Artikel empfehlen

So installieren Sie das ZSH-Terminal in CentOS 7.x

1. Installieren Sie grundlegende Komponenten Führ...

Das WeChat-Applet realisiert den Neun-Quadrat-Rastereffekt

In diesem Artikel wird der spezifische Code für d...

Schritte zum Aktivieren des MySQL-Datenbanküberwachungs-Binlogs

Vorwort Wir müssen häufig etwas basierend auf bes...

Das WeChat-Applet implementiert einen einfachen Rechner

Ein einfacher Rechner, der als Referenz in das We...

Installations-Tutorial für die ZIP-Archivversion von MySQL 5.7

In diesem Artikel finden Sie das Installations-Tu...

So installieren Sie Docker unter Windows 10 Home Edition

Ich habe Docker kürzlich verwendet, um ein Projek...

Elementui exportiert Daten in XLSX- und Excel-Tabellen

Kürzlich habe ich vom Vue-Projekt erfahren und bi...

MySQL5.7 Master-Slave-Konfigurationsbeispielanalyse

Implementierungsmethode für die MySQL5.7-Master-S...

CSS-Pseudoklasse: empty makes me shine (Beispielcode)

Jeder, der meine Artikel in letzter Zeit gelesen ...

Tutorial zur Installation von Nginx in einer Linux-Umgebung

Inhaltsverzeichnis 1. Installieren Sie die erford...

Anfänger lernen einige HTML-Tags (3)

Anfänger, die mit HTML in Berührung kommen, lerne...

Fallstricke und Lösungen für das Upgrade von MySQL 5.7.23 in CentOS 7

Vorwort Kürzlich bin ich beim Upgrade von MySQL 5...