Mit Kubernetes existiert ein mächtiges Werkzeug zur Verwaltung von sogenannten Cloud-Containern. Diese Container basieren häufig auf Docker, einer Open-Source-Lösung, die sich über die Jahre hinweg im Bereich Cloud Computing als Quasi-Standard etabliert hat. Was gilt nun: Kubernetes versus Docker, oder doch eher ein starkes Duo? Wie die beiden Systeme technisch zusammenhängen, wozu Cloud-Container dienen und was es mit dem Ende des Docker-Supports bei Kubernetes auf sich hat, erfahren Sie hier.
Wer Cloud-Anwendungen betreibt und Anwendungen schnell und einfach skalieren will, kommt um das Thema Container und deren "Orchestrierung" kaum herum. Orchestrierung meint die Koordination von deren Zusammenspiel in der Cloud. Die Containerverwaltung mit Kubernetes und die Anwendungsverwaltung über Docker sind komplexe Themen, über die wir an anderer Stelle hier im V-Hub berichten.
Hier geht es darum, welche Rolle Docker im Zusammenhang mit Kubernetes spielt. Außerdem erfahren Sie, wie aus einer herkömmlichen Server-Anwendung über Microservices eine verteilte Cloud-Lösung mit Containern wird.
Docker versus Kubernetes: Das steckt hinter den Technologien
Cloud-Technologie verstehen: Was ist Containerisierung?
Immer dann, wenn Anwendungen in isolierten Benutzerbereichen innerhalb eines gemeinsamen Betriebssystems laufen, spricht man von Containerisierung beziehungsweise von Containern. Im Grunde genommen sind diese Container eine spezielle Form von Virtualisierungsumgebung innerhalb des Betriebssystems.
Eines vorweg: Bei Docker und Kubernetes handelt es sich nicht um konkurrierende Technologien. Im Gegenteil ist der Einsatz von Docker als Container-Werkzeug mit erheblichen Stärken beim UX-Design sehr sinnvoll. Außerdem ist Docker anderen Container-Werkzeugen wie beispielsweise Rocket, LXD und Flockport in vielen Punkten überlegen.
Für die Orchestrierung solcher Container im Cloud-Umfeld jedoch brauchen Sie ein Verwaltungs-Tool wie beispielsweise Kubernetes. Mit Orchestrierung ist hierbei gemeint, dass mehrere Container sinnvoll verwaltet, gestartet und gestoppt und auf verschiedenen Serverumgebungen (Nodes) betrieben werden (können).
Dementsprechend geht es also nicht um ein Entweder-Oder zwischen Docker und Kubernetes, sondern eher um das Zusammenspiel beider Technologien. Wer Cloud-Anwendungen entwickelt oder auch betreibt, kommt irgendwann fast zwangsläufig zumindest mit Docker in Berührung. Das beliebte Open-Source-System erzeugt portable, eigenständige Container, die Sie anschließend in der Cloud oder lokal ausführen können.
Unter Docker lassen sich Container mit Docker Swarm orchestrieren. Dabei bilden einer oder mehrere Knoten einen so genannten Schwarm. So lassen sich mehrere Docker Engines und virtuelle Maschinen anlegen und nutzen. Ein Knoten ist dabei eine virtuelle oder Bare-Metal-Maschine (Rechner, der direkt Anweisungen auf der Hardware ohne darüber liegendes Betriebssystem ausführt).
Kubernetes konzentriert sich auf die Orchestrierung ganzer Cluster, während das Docker-System eher für die Verwendung auf einzelnen Knoten konzipiert ist.
Datenverarbeitung in nahezu Echtzeit – Gamechanger MEC
Als erster Anbieter am deutschen Markt bietet Vodafone in Kooperation mit Amazon Web Services seinen Kunden Distributed Multi-Access Edge Computing (MEC) an. Profitieren Sie von den Vorteilen der AWS Wavelength und den Stärken des Vodafone Netzes:
Niedrige Latenzen für Echtzeitanwendungen
Verlagerung der Datenverarbeitung vom Gerät in die Edge
Die Verwendung von Kubernetes bietet dabei gleich mehrere Vorteile:
Sämtliche Container lassen sich von einer einzigen Steuerzentrale aus administrieren.
Besondere Stärken von Kubernetes sind etwa Netzwerkkoordination, Lastausgleich, Sicherheitsaspekte und Skalierung.
Containerressourcen lassen sich bei Bedarf durch sogenannte Namespaces (Erläuterung) verwalten, die besonders bei der Entwicklung und Qualitätssicherung Vorteile bringen.
Kubernetes-Anwendungen sind hochverfügbar, da der Ausfall einzelner Knoten automatisch kompensiert wird.
Die Skalierung gelingt besonders einfach, da sich Container selbst über unterschiedliche Cloud-Anbieter hinweg zufügen lassen.
Die Behauptung, dass Kubernetes und Docker konkurrierende Systeme seien rührt wohl daher, dass sowohl Docker Swarm als auch Kubernetes Container-Orchestrierungssysteme sind. Allerdings handelt es sich bei Docker Swarm um eine kommerzielle Entwicklung von Docker Inc., die nicht automatisch Teil des Open-Source-Systems Docker ist.
Die aktive Unterstützung der Open-Source-Community bei Kubernetes wiederum bietet ebenfalls viele Vorteile. Docker jedenfalls fehlen im Zusammenhang mit Docker Swarms viele Funktionalitäten, die nur durch Tools von Drittanbietern abzudecken sind – ein Nachteil, der bei Kubernetes nicht zum Tragen kommt. Jedoch ist Kubernetes vergleichsweise komplex, was die Installation und den Betrieb angeht.
Docker Swarm erlaubt eine einfache Installation und Verwaltung über externe Tools. Kubernetes bietet hingegen insgesamt mehr Funktionen.
Wann Docker, wann Kubernetes? Cloud-Migration leicht gemacht
K8s (Kubernetes) versus K3s (Kubernetes Light)
In Anlehnung an K8s als Abkürzung für Kubernetes kursiert auch eine alternative, linuxbasierte Kubernetes-Distribution namens K3s. Die Nutzung auf anderen Plattformen ist jedoch über Anpassungen möglich. Diese ursprünglich von Rancher Labs entwickelte Light-Version von K8s fehlen einige Funktionen (Legacy, Alpha, Nicht-Standard, In-Tree-Plugins). Außerdem wurden schwergewichtige Komponenten gegen einfachere Module ausgetauscht. So ersetzt dort beispielsweise sqlite3 das voluminöse etcd3. Derart optimiert liegt der Umfang des K3s-Binaries unter 100 MB. 2020 wurde K3s an die Cloud Native Computing Foundation (CNCF) gespendet. Bewährt hat sich K3s besonders für die Ausführung von Workloads an ressourcenarmen dezentralen Standorten oder auf IoT-Geräten.
Die Entscheidung, ob nun Docker, Kubernetes oder gleich beide Systeme zum Einsatz kommen sollten, hängt wie so oft vom konkreten Fall ab. Wie bereits im Beitrag zu Kubernetes erwähnt, geht es im Umfeld beider Systeme um die konsequente Abkehr von monolithischen Anwendungen.
Ein typisches monolithisches System vereint sämtliche seiner Funktionen im zugehörigen Quellcode an einer bestimmten Stelle und läuft typischerweise auf einem bestimmten (virtuellen oder physischen) Server.
Das ist jedoch vor dem Hintergrund von Ausfallsicherheit, Skalierungsanforderungen und aus praktischen Überlegungen heraus zumindest bei Webanwendungen nicht mehr zeitgemäß. Daher werden viele Anwendungen inzwischen nicht nur in der Cloud betrieben, sondern sind sogar als "cloud native" anzusehen.
Das bedeutet, dass sie in der Cloud sowohl betrieben als auch verwaltet und weiterentwickelt werden und entsprechende Cloud-Vorteile und -Anwendungen konsequent zum Einsatz kommen. Damit das funktioniert, müssen die einzelnen Bestandteile einer Anwendung jedoch als separate Module vorliegen – sogenannte Microservices.
Der erste Schritt hin zu solchen Microservices führt über die Aufteilung des Programmcodes in einzelne, wiederverwendbare Programmbestandteile, die untereinander aufrufbar sind.
Diese Programmbestandteile wiederum lassen sich dann mit Hilfe von Docker in einzelne Anwendungs-Container "verpacken" und "in der Cloud" betreiben.
Wenn die Anwendung jedoch als "echtes" verteiltes System mit entsprechenden Absicherungen gegen Ausfälle oder mit global an jedem Ort vergleichbarer Performance laufen soll, ist es empfehlenswert, zusätzlich Kubernetes zur Orchestrierung einzusetzen.
Unterschiede von Docker Swarm und Kubernetes
Docker hat mit der Entwicklung der Container-Technologie die Softwareentwicklung revolutioniert. Kubernetes‘ Verdienste wiederum liegen darin, eine lange Zeit bestehende Lücke zur Container-Orchestrierung geschlossen zu haben. Docker Swarm ist dabei das Orchestrierungstool für Docker. Bei Kubernetes gibt es eine solche Trennung nicht, da das Dashboard Bestandteil des Systems ist.
Heute sind Docker Swarm für Docker und Kubernetes die beliebtesten Container-Orchestrierungsplattformen. Docker Swarm ist eine Open-Source-Container-Orchestrierungsplattform, die nativer Bestandteil von Docker ist.
Kubernetes ist ein portables, Cloud-natives Open-Source-Infrastruktur-Tool, das Google ursprünglich zur Verwaltung der hauseigenen Cluster entwickelt hat. Es automatisiert die Skalierung, Bereitstellung und Verwaltung containerisierter Anwendungen im Sinne eines Container-Orchestrierungstools.
Der Unterschied zwischen den Plattformen liegt in erster Linie in der Komplexität. Kubernetes eignet sich gut für komplexe Anwendungen. Docker Swarm hingegen legt mehr Wert auf Benutzerfreundlichkeit, was es zur bevorzugten Wahl für einfache Anwendungen macht.
Docker Compose und Kubernetes im Vergleich
Kubernetes und Docker Compose sind beide Container-Orchestrierungs-Frameworks. Der Unterschied liegt in der Ausführungsebene. Kubernetes führt Container auf mehreren virtuellen oder realen Computern aus. Docker Compose ist dafür ausgelegt, Container auf einzelnen Hostcomputern auszuführen.
Eine der herausragenden Merkmale von Docker Compose ist, dass Entwickler:innen damit Container als unterschiedliche Dienste verfügbar machen können, die sich in Form von Netzwerken organisieren lassen.
GUI-Vergleich zwischen Docker Desktop und Kubernetes
Docker Desktop ist eine Software-Suite und GUI-Tool (Grafische Benutzeroberfläche) zur Administration virtueller Maschinen unter Docker. Damit lassen sich containerisierte Anwendungen mittels der Docker eigenen Werkzeuge erstellen. Docker Desktop umfasst die Docker-Engine, die docker-cli, docker-compose und einen Credential-Helper.
Bis Ende 2022 war die Nutzung im Rahmen einer Einführungsphase kostenfrei. Seitdem gibt es ein neues Lizenzmodell. Lediglich die Nutzung für nicht-kommerzielle Open-Source-Projekte oder die Anwendung im Bildungswesen sind kostenfrei.
War es bis Ende 2022 noch möglich, auf Kubernetes als GUI auszuweichen, besteht diese Option nun nicht mehr. Durch die Abkündigung der Unterstützung von Docker durch Kubernetes ab Version 1.24 ist Kubernetes keine Alternative mehr zur Verwendung der Docker-Desktop-Suite.
Docker Laufzeitumgebung ohne Kubernetes-Support
Mit der Kubernetes-Version 1.24 hat das Entwicklungsteam die direkte Unterstützung für die Docker Engine beendet. Bestehende Docker-Container funktionieren jedoch weiterhin reibungslos unter Kubernetes. Die Nutzung der Docker Engine über Kubernetes ist ab dieser Version allerdings nur noch über Umwege möglich.
Auch RedHat hat seit Red Hat Enterprise Linux 8 (REHL 8) die Docker-Unterstützung eingestellt. Als Ersatz liefert Red Hat jetzt eine Open-Source-Suite zur Container-Orchestrierung aus.
Durch diese Maßnahmen befeuert, scheint sich ein Abwanderungstrend abzuzeichnen. Viele Entwickler:innen sehen sich nach Alternativen zu Docker um. Sysdig berichtete schon 2021 von einem weltweiten Rückgang der Docker-Nutzung von 79 % auf 50 % Marktanteil, wobei sich zeitgleich die Nutzung und Entwicklung von Container-Applikationen im Vergleich zum Vorjahr verdoppelt hat.
Angesichts des wachsenden Cloud Computing-Bereichs und der Suche nach skalierbarer Rechenleistung ist die Bedeutung von Docker auch zukünftig gesichert. Allerdings dürfte die Suche nach Alternativen neue Lösungen hervorbringen und den Markt bereichern.
Whitepaper: Multi-Access Edge Computing
Sie möchten das aktuelle Whitepaper herunterladen? Dafür müssen Sie nur Ihre Einwilligung geben, dass die Vodafone Unternehmen Sie werblich ansprechen dürfen. Tragen Sie bitte dazu Ihre Kontaktdaten ein. Sie bekommen dann eine E-Mail zur Bestätigung Ihrer Daten und der Einwilligung. Nach der Bestätigung bekommen Sie den Download-Link zum Whitepaper.
Das erwartet Sie in unserem MEC Whitepaper:
Alles rund um Multi-Access Edge Computing
Die damit möglichen neuen Anwendungen und Geschäftsmodelle
Alle Informationen, die für Unternehmen für den Einsatz der Technologie wichtig sind
Entscheidungshilfe: Kubernetes, Docker oder beides?
Der Nachteil klassischer virtueller Maschinen ist, dass sie auf dem eigenen Betriebssystem laufen müssen. Softwarecontainer hingegen erlauben Virtualisierungen ohne eigenes Betriebssystem.
Kubernetes und Docker sind jeweils gängige Mittel der Wahl, um cloudbasierte Softwaresysteme und Anwendungen über Container zu entwickeln und bereitzustellen.
Sowohl über Kubernetes als auch mit Docker lassen sich Container-Anwendungen automatisieren, skalieren und verwalten.
Der große Vorteil von Docker Swarm liegt in der einfachen Installation. Auch die Integration zwischen Docker und Docker Swarm ist unkompliziert.
Kubernetes wiederum punktet beim Funktionsumfang, der breiten Unterstützung durch die Open-Source-Community und der integrierten grafischen Benutzeroberfläche.
Cloud-Back-up: So sichern Sie Ihre Daten einfach und bequem in der Wolke
Immer genug Speicher selbst für riesige Datenmengen und das in der Summe kostengünstiger als bei vergleichbaren lokalen Speicherlösungen wie RAID-Systemen: Ein Cloud-Back-up bietet Ihnen viele Vorteile. Mit dem richtigen Back-up-Konzept können Sie noch viele weitere Stärken der Datensicherung im Internet nutzen. Dazu gehört beispielsweise die fast unterbrechungsfreie Wiederherstellung Ihrer IT nach einem Systemausfall.
Mit einem weltweiten Umsatz von mehr als 500 Milliarden US-Dollar gehört das Cloud-Computing zu den großen Wachstumstreibern in der IT-Welt. In Deutschland nutzen über 80 Prozent aller Unternehmen eine Private oder Public Cloud zum Speichern wichtiger Geschäftsdaten. Das hat der „Cloud Report 2024“ des Branchenverbandes Bitkom ermittelt.
Das Arbeiten in der Cloud spart nicht nur Zeit, Kosten und Energie. Es bietet auch viele weitere Vorteile für Unternehmen. Das zeigt sich beispielsweise beim Cloud-Back-up. Wie die Datensicherung in der digitalen Wolke funktioniert und was Sie dabei beachten sollten, erfahren Sie hier.
Was ist Docker? Komponenten und Funktionalitäten einfach erklärt
Mit virtuellen Computern aus der Cloud setzen Sie sich ganz einfach neue Entwicklungsumgebungen für das Software-Development auf. Noch leichter geht dies mit Software-Containern, die Sie bequem per Docker erstellen. Was die Container-Software noch alles kann und wie Sie sie verwenden, erfahren Sie hier.
Das Cloud-Angebot für Unternehmen reicht inzwischen von Office-Anwendungen wie Microsoft 365 bis hin zu spezialisierten Angeboten wie Functions-as-a-Service (FaaS). Bei FaaS können Sie gezielt einzelne Funktionen anmieten, etwa aus dem Bereich der künstlichen Intelligenz. Ein prominentes, aktuelles Beispiel hierfür ist der Chatbot ChatGPT, der auf KI basiert, API-fähig ist und somit in andere Anwendungen integriert werden kann.
Viele Anwendungen dieser Art laufen in der Cloud heute virtualisiert. Eine Softwarevirtualisierung von Anwendungen können Sie auch selbst über sogenannte Software-Container umsetzen: beispielsweise mit Docker. Was Docker ist und wie Sie es sinnvoll für Ihr Business einsetzen, erfahren Sie hier.
SaaS-Entwicklung ganz einfach: In 5 Schritten zum Erfolg
Die Kostenexplosion im Softwarebereich betrifft viele Unternehmen. Durch den Einsatz von SaaS (Software-as-a-Service) können Sie hohe Anfangsinvestitionen vermeiden. Die Kosten für Unternehmen bleiben durch Abonnements-Modelle in einem festgelegten Rahmen. Zudem sinken die internen IT-Kosten, da Wartung und Administration der gebuchten Services in der Hand des SaaS-Dienstleisters liegen.
Software-as-a-Service (SaaS) bietet komplette Softwareanwendungen über das Internet an. Bekannte Beispiele für browserbasierte Cloud-Anwendungen sind Microsoft 365 und Applikationen im Google Workspace. Das Angebot ist jedoch nicht auf solche Standard-Anwendungen begrenzt, sondern umfasst alle Arten von Applikationen.
Cloud-Access-Security-Broker: Cloud-Sicherheit auf höchstem Niveau
Cloud-Computing ist für viele Firmen ein essenzieller Teil der Geschäftsprozesse und kann sämtliche Unternehmensbereiche umfassen. Doch die in der Cloud angesiedelten Services und Geschäftsdaten stellen ein verlockendes Ziel für Kriminelle dar. Eine gute Cybersicherheit ist aus diesem Grund unabdingbar. „Cloud-Access-Security-Broker” (CASB) fügen Ihrer Cyber Security eine zusätzliche Schutzschicht hinzu.
Datendiebstahl kann für Unternehmen verheerend sein. Laut der Studie „Wirtschaftsschutz 2024“ des Branchenverbands Bitkom sind 81 Prozent der deutschen Unternehmen in den vergangenen Monaten Ziel von Datendiebstahl und digitaler Industriespionage geworden. Geschäftsprozesse, die auf der Cloud basieren und gleichzeitig dezentral organisiert sind, erfordern eine konstante Überwachung. Cloud-Access-Security-Broker nehmen dabei eine wichtige Rolle ein.
Was genau ist ein Cloud-Access-Security-Broker? Und welche Funktion kann diese Anwendung im Zuge der Cybersicherheit Ihres Unternehmens erfüllen? Das erfahren Sie in diesem Artikel.
Wenn Ihr Computer nicht mehr läuft, zum Beispiel weil ein Update fehlgeschlagen oder die Festplatte beschädigt ist, oder wenn Viren auf das Smartphone gelangt sind, existiert eine schnelle Lösung: das Wiederherstellen eines Back-ups. Wie das funktioniert und worauf Sie dabei achten müssen, erfahren Sie hier.
Es ist relativ einfach, Daten und Computer aus einer Sicherungskopie (engl. Back-up) wiederherzustellen. Die Vorgehensweise unterscheidet sich je nach Gerät und Betriebssystem. Sie ist auch abhängig davon, ob Sie ein Cloud-basiertes, lokales oder hybrides Back-up wiederherstellen möchten. Falls Sie Ihre Back-ups mit spezieller Software erstellen, sollten Sie die gleiche Anwendung auch für die Wiederherstellung verwenden.