Was ist Container Linux und sollten Sie es verwenden?

Container werden immer beliebter. Container Linux, früher bekannt als CoreOS, ist ein Linux-Betriebssystem, das für einfache Container-Bereitstellungen entwickelt wurde. Dieser Überblick und ein praktischer Blick auf Container Linux wird Ihnen mehr erzählen.

Container werden immer beliebter.  Container Linux, früher bekannt als CoreOS, ist ein Linux-Betriebssystem, das für einfache Container-Bereitstellungen entwickelt wurde.  Dieser Überblick und ein praktischer Blick auf Container Linux wird Ihnen mehr erzählen.
Werbung

Linux-Betriebssysteme gibt es in verschiedenen Varianten. Während Linux-Betriebssysteme wie Ubuntu ziemlich allgemein sind, zielen andere auf eine Nische ab. Da ist das sicherheitsgerichtete Kali Linux. Leichte Distributionen wie Xubuntu und sogar Hannah Montana Linux (!). Für Desktop-Anwendungen funktioniert ein Linux-Betriebssystem von Vanilla gut. Bei spezialisierten Aufgaben wie dem Ausführen eines Servers ist es jedoch am besten, eine angepasste Version zu finden.

Container werden immer beliebter. Container Linux, früher bekannt als CoreOS, ist ein Linux-Betriebssystem, das für einfache Container-Bereitstellungen entwickelt wurde. Es ist eines der neuesten Nische Linux-Betriebssysteme Die neuesten Linux-Betriebssysteme für jede Nische Die neuesten Linux-Betriebssysteme für jede Nische Linux-Betriebssysteme werden ständig aktualisiert, mit einigen sind wesentlicher als andere. Nicht sicher, ob zu aktualisieren? Sehen Sie sich diese neuen Linux-Betriebssysteme an und prüfen Sie, ob Sie sie ausprobieren sollten. Weiterlesen . Werfen Sie einen Blick auf diese Übersicht und einen praktischen Blick auf Container Linux.

Hands-On mit Container Linux: Hintergrundwissen

Bevor wir auf Container Linux eingehen, beginnen wir mit einem kurzen Überblick über die Serverarchitektur. Container Linux ist für Cluster-Bereitstellungen konzipiert. Eine Cluster-Bereitstellung klingt ziemlich komplex, aber sie ist ziemlich einfach. Im Wesentlichen besteht ein Computercluster aus mehreren Servern, die zusammenarbeiten. Daher funktionieren sie als eine Einheit oder ein System anstelle von mehreren. Darüber hinaus verfügen Computer in einem Cluster über Knoten oder Server, die die gleiche Funktion ausführen. Ein Knoten ist also eine einzelne Maschine, während ein Cluster eine Gruppe von Servern ist, die zusammenarbeiten.

Die häufigsten Container-Linux-Bereitstellungen befinden sich in Clusterumgebungen. Die früher als CoreOS bekannte Distribution beinhaltet sogar die Möglichkeit, einen Cluster von nur einer Maschine aus zu starten. Das entscheidende Merkmal von Container Linux ist jedoch seine Abhängigkeit von Containern.

Im Gegensatz zu einem herkömmlichen Desktop-Betriebssystem werden alle Anwendungen in Containern ausgeführt. Während sowohl virtuelle Maschinen (VM) als auch Container Virtualisierungsmethoden verwenden, unterscheiden sich Container. Im Gegensatz zu VMs verwenden Container den gleichen Betriebssystemkernel wie der Hostcomputer. Da containerisierte Apps und der Hostcomputer denselben Kernel verwenden, profitieren Containerbereitstellungen von einer höheren Effizienz. In einer VM-Konfiguration führt jede VM eine App und ein Gastbetriebssystem aus. Dies läuft auf dem Host-Betriebssystem und der Hardware.

Bei containerisierten Bereitstellungen werden stattdessen Apps in eigenen Containern zusätzlich zur Virtualisierungssoftware ausgeführt. Docker bleibt die beliebteste Container-Software, obwohl chroot, LXC und Linux-VServer zu den Alternativen von Docker gehören.

Hands-On mit Container Linux: Warum Container verwenden?

OK, Container sind eine Virtualisierungsmethode. Warum entscheiden Sie sich für eine containerisierte Umgebung? Typischerweise liefern Container eine verbesserte Leistung. Indem Sie auf separate Betriebssysteme verzichten und stattdessen einen gemeinsamen Kernel verwenden, maximieren Sie die Effizienz von CPU, Speicher und Arbeitsspeicher.

Da Sie nicht mehrere Betriebssysteminstanzen wie in einer VM-Konfiguration ausführen müssen, können Sie mehrere Container ausführen. Leistungsverbesserungen ergeben sich aus der Notwendigkeit eines einzelnen Betriebssystems. Auf ähnliche Weise können Sie Container schneller erstellen als in einer Umgebung mit virtuellen Maschinen. Daher sind Behälter besser geeignet, um die Flexibilität zu erhalten und eine kontinuierliche Lieferung und kontinuierliche Integration zu ermöglichen.

Agile Entwicklung konzentriert sich auf Iteration und berücksichtigt Unvorhersagbarkeit. Sie können das Agile Manifesto für weitere Einblicke in die agile Philosophie lesen. Trotz der Vorteile von Containern ist es keine perfekte Virtualisierungsmethode. Da Container den Host-Betriebssystemkern teilen, besteht ein Sicherheitsrisiko. Jede Sicherheitslücke oder Verletzung, die einen Container betrifft, erhält Zugriff auf das Betriebssystem. Es gibt jedoch eine Problemumgehung beim Ausführen containerisierter Apps auf einem Betriebssystem in einer virtuellen Maschine. Dies stellt sicher, dass das Host-Computer-Betriebssystem von dem Host-Betriebssystem des einzelnen Containers isoliert ist.

Containerisierung erfordert auch, dass Container das gleiche Betriebssystem verwenden. Bei virtuellen Maschinen erhält jede Anwendung ihr eigenes Betriebssystem. Sie können also keine Apps für Windows Server in einer containerisierten Linux-Umgebung ausführen und umgekehrt.

Hands-On mit Container Linux: Was ist Container Linux?

CoreOS Core Update

CoreOS, oder Container Linux, wie es jetzt heißt, ist ein Open-Source-Linux-Betriebssystem. Es handelt sich um eine leichte Distribution, die auf Cluster-Bereitstellungen ausgerichtet ist. Insbesondere konzentriert sich CoreOS auf einfache, zuverlässige und skalierbare Implementierungen. Sie werden keinen Paketmanager finden. Stattdessen erfordert Container Linux, dass alle Anwendungen in Containern ausgeführt werden. Container Linux verwendet Chrome OS als Basis. Daher bleibt Container Linux ziemlich leicht. Zum Testen habe ich das Linux-Betriebssystem, das früher als CoreOS bekannt war, in einer virtuellen Maschine auf einem alternden Laptop mit HP Envy m6-1205dx AMD A10 betrieben. Der Systemressourcenverbrauch blieb relativ niedrig.

Da Container Linux einige traditionelle Desktop-Linux-Betriebssystemfunktionen meidet, bleibt die Distribution leicht. Im Gegensatz zu einem Desktop-Betriebssystem finden Sie keinen Paketmanager. Stattdessen werden alle Anwendungen als Docker-Container ausgeführt. Dies sorgt für Portabilität und Service-Isolation. Wenn Sie eine Desktopumgebung wünschen, haben Sie kein Glück. Container Linux hat keine grafische Benutzeroberfläche. Stattdessen basiert alles auf der Befehlszeile. Das CoreUpdate-Dashboard bietet Informationen zum Systemzustand der Maschine, zu laufenden Diensten und zum Clusterzustand. Es ist jedoch nur als Komponente im Premium Managed Linux-Abonnement verfügbar.

Container Linux Architektur

Container Linux ist leichtgewichtig und für Container und Clustering konzipiert. Da es keine Desktop-Umgebung gibt, funktioniert die Konfiguration anders als auf einem Linux-Betriebssystem wie CentOS oder Ubuntu. Beim ersten Start lädt Container Linux eine Cloud-Konfigurationsdatei. Sie müssen Informationen in cloud-config eingeben. Dies kann ein bisschen schwierig sein, besonders für diejenigen, die nicht mit Cloud-Config vertraut sind. Aber es ist eine essentielle Datei, die es Container Linux ermöglicht, wesentliche Dienste zu laden, Parameter zu ändern und Cluster zu verwalten.

Außerdem bleiben die etcd und fleet Dämonen Bestandteil von Container Linux. Beide Dienste werden standardmäßig beim Start gestartet. Darüber hinaus kann der Host beim Booten über die Cloud-Konfigurationsdatei wissen, wie er einem vorhandenen Cluster beitreten kann. Der etcd Daemon verteilt und speichert Daten für Hosts innerhalb eines Clusters. Es ist wichtig für die Pflege von Konfigurationen und Service Discovery. Der fleet Daemon ähnelt einem verteilten Init. Dieser Daemon stellt eine Verbindung zur systemd Init für Hosts in einem Cluster her und kümmert sich um Aufgaben wie die Dienstplanung.

Jedes System in einem fleet führt nur einen fleetd . Dieser Daemon übernimmt zwei Hauptaufgaben, die sowohl als Agent als auch als Engine fungieren. Als Engine führt der Daemon Planungsentscheidungen durch. Während die Agentenseite Einheiten ausführt. Im Flottencluster ist etcd der einzige Datenspeicher. Solche Informationen wie Cluster-Präsenz, Einheitenzustand und Unit-Dateien werden alle im Daemon etcd gespeichert. Darüber hinaus ist es das Medium für die Kommunikation zwischen Flottenagenten und Triebwerken.

Hands-On mit Container Linux: Wer sollte es verwenden?

Container Linux kann kostenlos heruntergeladen, leicht und relativ einfach in einer virtuellen Maschine installiert werden. Jeder, der schnelle, skalierbare Container-Bereitstellungen benötigt, sollte sich für Container Linux entscheiden. Überwiegend profitieren Systemadministratoren und Datenbankadministratoren von Container Linux. Da Container Linux keine Desktop-Umgebung hat, ist es am besten für das Cluster-Management und in einer Serverumgebung geeignet. Wenn Sie nach einem Linux-Server-Betriebssystem suchen, ist Container Linux einer der 12 besten Linux-Server-Distro 12 Beste Linux-Server-Betriebssysteme und wer sollte die 12 besten Linux-Server-Betriebssysteme verwenden und wer sollte sie einen Server bauen? Linux ist ideal und bietet in der Regel erweiterte Berechtigungen, erhöhte Flexibilität und Stabilität. Aber welchen solltest du wählen? Sehen Sie sich die 12 besten Linux-Server-Betriebssysteme an und wer sollte sie verwenden. Lesen Sie mehr s.

Air Pair bietet eine hervorragende Beschreibung von CoreOS-Incentives. Dieser Artikel erwähnt hohe Verfügbarkeit, Wartung der Produktionsumgebung, Softwareversionskontrolle und das etcd als Hauptmerkmale für die Verwendung von Container Linux. Bemerkenswert ist auch, dass es eine unglaublich engagierte Open-Source-Community gibt. Container Linux ist auf erfahrene Linux-Benutzer zugeschnitten. Die umfangreiche Dokumentation der Hilfedokumentation geht von einem moderaten Grad an Linux-Vertrautheit aus. Anfänger und Anfänger haben möglicherweise Probleme mit der Erstinstallation.

Genauer gesagt, Cloud-Config kann eine Herausforderung sein. Im Kommentarbereich eines CoreOS-Installationsvideos erklärte der YouTube-Nutzer Setyoso Nugroho: "Nettes Tutorial! Ziemlich verwirrend beim Erlernen der # cloud-config-Dateikonfiguration in CoreOS. "Obwohl die Konfiguration nicht besonders schwierig ist, geht Container Linux von Linux-Funktionen wie dem VIM-Editor aus.

Hands-On mit Container Linux: Wie installiert man

Es gibt viele Möglichkeiten, Container Linux zu installieren. Laut der CoreOS-Website gehören zu den offiziellen Plattformen Amazon EC2, DigitalOcean, Microsoft Azure, Bare-Metal und OpenStack. Neben Oracle, Linux, CentOS und Suse gehört CoreOS zu den wenigen Azure-kompatiblen Linux-Betriebssystemen. Liebt Microsoft wirklich Linux? Liebt Microsoft Linux wirklich? Microsoft und Linux hatten eine turbulente Beziehung. Im Laufe der Jahre haben CEOs den Wunsch geäußert, dass Linux verschwinden sollte, aber heutzutage ist die Geschichte anders. Mag Microsoft Linux wirklich? Weiterlesen . Dank einer lebendigen Community werden Plattformen wie Packet, Rackspace, Brightbox, VirtualBox und VMware unterstützt. Ich fand die einfachste Methode war Container Linux auf VirtualBox mit einer ISO-Datei zu installieren. Hier ist eine Kurzanleitung zur Verwendung von VirtualBox. Wie man VirtualBox benutzt: Benutzerhandbuch Wie man VirtualBox benutzt: Benutzerhandbuch Mit VirtualBox können Sie einfach mehrere Betriebssysteme installieren und testen. Wir zeigen Ihnen, wie Sie Windows 10 und Ubuntu Linux als virtuelle Maschine einrichten. Weiterlesen .

Konfigurieren von VirtualBox

Öffnen Sie VirtualBox und Sie werden nach dem Namen einer virtuellen Maschine, dem Betriebssystemtyp und der Version gefragt. Ich habe meins einfach CoreOS genannt. Wählen Sie als Typ Linux. Verwenden Sie als Version Linux 2.6 / 3.x / 4 / x (64-Bit). Weiter klicken.

CoreOS starten

Jetzt müssen Sie Ihren Arbeitsspeicher zuweisen. CoreOS schlägt ein Minimum von 1024 MB RAM vor.

CoreOS RAM

Nachdem Sie Ihren Arbeitsspeicher ausgewählt haben, müssen Sie eine virtuelle Festplatte hinzufügen. Verwenden Sie die Option zum Erstellen einer virtuellen Festplatte jetzt.

Erstellen Sie VHD CoreOS

Auf dem nächsten Bildschirm werden Sie nach dem Dateityp für die Festplatte gefragt. Wählen Sie VDI oder VirtualBox Disk Image.

CoreOS VDI

Danach konfigurieren Sie Ihren Speicherplatz. Ich empfehle, eine dynamisch zugewiesene Festplattendatei zu verwenden.

CoreOS dynamisch

Wählen Sie dann den Speicherort und die Größe der Datei. Ich habe den Standard-CoreOS als Namen gewählt und mich für eine Dateigröße von 8 GB entschieden.

CoreOS-Dateigrößenzuordnung

Wenn Ihre virtuelle CoreOS VirtualBox-Maschine ordnungsgemäß konfiguriert ist, klicken Sie auf die grüne Schaltfläche Start.

CoreOS starten

Sobald Sie auf Start klicken, müssen Sie eine Startdiskette auswählen. Navigieren Sie zu dem Ordner, in dem Sie Ihre CoreOS-ISO haben, und fahren Sie fort.

Konfigurieren von Container Linux

Nach dem Start Ihrer CoreOS-ISO beginnt Container Linux zu laden. Sie sehen schließlich eine Zeile mit Ihrer CoreOS-Version und einer Befehlszeile:

 core@localhost 

Eintippen:

 sudo openssl passwd -1>cloud-config-file 

CoreOS Passwd Konfig

Die Befehlszeile zeigt eine Warnung an, wenn die Konfigurationsdatei nicht geöffnet werden kann. Geben Sie Ihr gewünschtes Passwort ein und fahren Sie fort. Weiter geben Sie ein:

 cat cloud-config-file 

CoreOS Cat Cloud Konfiguration

Dies gibt eine lange Zeichenfolge zurück und erstellt eine neue Cloud-Konfigurationsdatei. Öffnen Sie nun die cloud-config in einem visuellen Editor:

 vi cloud-config-file 

CoreOS VI

Dies lädt eine Cloud-Konfigurationsdatei, die Sie bearbeiten können. CoreOS enthält eine erweiterte cloud-config-Beispieldatei:

CoreOS Cloud Config Beispiel

Meins sah aus wie:

 #cloud-config users: moe passwd: [SSL password] groups: - sudo - docker 

CoreOS Cloud Konfig

Sie können Ihre Cloud-Konfigurationsdatei überprüfen, indem Sie Folgendes eingeben:

 cat cloud-config-file 

CoreOS Check Cloud Konfig

Dies gibt Ihre Konfigurationsdatei zurück. Wenn alles gut aussieht, fahren Sie mit der Installation von CoreOS fort:

 sudo coreos-install -d /dev/sda -C stable -c cloud-config-file 

CoreOS Installieren Sie das Finale

Sie werden eine Nachricht sehen, dass CoreOS heruntergeladen, geschrieben und überprüft wird. Sobald dies abgeschlossen ist, sehen Sie eine Nachricht mit der Aufschrift "Erfolg! CoreOS [version] ist auf / dev / sda installiert. "

CoreOS Erfolg

Fahren Sie Ihre virtuelle CoreOS-Maschine herunter und starten Sie sie dann erneut. Achten Sie beim Starten des Backups darauf, das CoreOS ISO zu deaktivieren, da sonst die Live-CD erneut ausgeführt wird.

CoreOS wird geladen und Sie erhalten eine Anmeldeaufforderung in der Befehlszeile:

 localhost login: 

CoreOS Endgültige Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein. Dies wird eine Nachricht laden, die "Container Linux by CoreOS [Version]" und eine neue Befehlszeile sagt.

Letztes Login CoreOS

Hands-On mit Container Linux: Nächste Schritte

Jetzt, da Container Linux by CoreOS ordnungsgemäß installiert ist, können Sie damit beginnen, Container und Cluster einzurichten. Die CoreOS-Dokumentation enthält eine ausgezeichnete Kurzanleitung. Es gibt Informationen zur Service Discovery mit etcd sowie einen Abschnitt zur Containerverwaltung mit Docker. Ich habe ein paar schnelle Tests gemacht, wie zum Beispiel einen "Hello World" Docker Pull. Außerdem habe ich ein Plex Docker-Image installiert, weil ich ein großer Medienserver bin. Schließlich habe ich eine Flotte für das Cluster-Management eingerichtet.

Was Sie als Erstes tun sollten, ist die Konfiguration der Hauptkomponenten von Container Linux:

  • etcd
  • Docker
  • Flotte

Wenn Sie diese drei Hauptgrundlagen konfigurieren, sind Sie bereit für die Serviceerkennung, Clusterverwaltung und das Einrichten von Containern. Dann können Sie anfangen, Apps zu containerisieren und Desktop-Anwendungen in einem sicheren Docker-Container sicher zu testen. Wie man Desktop-Anwendungen in einem sicheren Container mit Docker sicher testet Desktop-Anwendungen in einem sicheren Container mit Docker testen Docker ist eine beliebte Plattform zum Entwickeln und Testen serverbasierte Anwendungen. Aber wussten Sie, dass Sie es auch verwenden können, um neue Programme sicher und sicher auf Ihrem Desktop auszuführen? Weiterlesen .

Hands-On mit Container Linux: Final Thoughts

Ich verwende Container nicht oft, aber Container Linux vereinfacht die Bereitstellung. Dokumentation ist hervorragend mit Beispielkonfigurationsdateien. Beachten Sie, dass für Anfänger einige inoffizielle Videoinstallations-Tutorials CoreOS-Installationen vereinfachen. Während CoreOS behauptet, dass Container Linux leicht ist, war ich anfangs skeptisch. Dennoch habe ich Container Linux in einer virtuellen Maschine mit relativ geringem Ressourcenverbrauch hochgespielt. Und weil ich testen wollte, ob Container Linux wirklich leicht ist, habe ich meinen alternden HP-Laptop benutzt und keine Probleme festgestellt.

Einige Schritte in der Erstinstallation sind jedoch nicht sehr "anfängerfreundlich". Das Installieren und Einrichten von Container Linux erfordert eine solide Linux-Vertrautheit. Insbesondere habe ich das CoreUpdate-Dashboard, das CoreOS als kostenpflichtiges Premium-Feature anbietet, nicht getestet. Obwohl ich keine Probleme mit der Befehlszeile habe, wäre eine grafische Umgebung für die Überwachung eine nette Ergänzung.

Systemadministratoren und Datenbankadministratoren profitieren am meisten von Container Linux. Für Heimserver ist es jedoch ein einfaches und leichtes Mittel zum Erstellen einer Clusterumgebung. Darüber hinaus können Sie mit Container Linux einen Cluster von einer einzigen Maschine aus starten. Aber Container Linux ist eine großartige Einführung in die Arbeit mit Containern. Wenn Sie mehr über Docker und Container erfahren möchten, läuft Container Linux in einer virtuellen Maschine sehr gut und bietet alle Ressourcen, die Sie für den Einstieg benötigen.

Es ist eine hervorragende Out-of-the-Box-Lösung für Container-Neulinge, neben erfahrenen DevOps-Ingenieuren, Systemadministratoren und Datenbankadministratoren. Letztendlich ist Container Linux by CoreOS ein einfaches Mittel, um eine skalierbare, effiziente Container-Umgebung zu schaffen.

Verwenden Sie CoreOS? Hast du vor? Lassen Sie uns wissen, wie Sie auf Linux in den Kommentaren unten containerisieren!

In this article