•  untoreh-light

Auf Containern

Container verwenden, was und warum

Was sind Container

[Containers] ist ein Name für eingeschränkte Umgebungen, die durch eine Sammlung von Subsystemen innerhalb von Linux wie [cgroups ] und [namespaces ]. Obwohl die Wiki-Seite das Wort verwendet Virtualisierung Ich denke das Wort Isolation ist besser geeignet, da Virtualisierung bedeutet, dass dazwischen eine Übersetzungsebene liegt, während Kontrollgruppen und Namespaces Prozesse trennen und kontextualisieren.

Cgroups werden normalerweise verwendet, um Zuweisungsrichtlinien für Ressourcen zu definierenRAM undCPU , während Namespaces die Kontexte wie Mount-Punkte, Netzwerke und Benutzer steuern. [Apparmor] bietet stattdessen eine Möglichkeit, die Fähigkeiten für Containerumgebungen insgesamt einzuschränken, während apparmor ohne Container, wie in Wikipedia geschrieben, programmbasiert ist.

Werkzeuge wie Flatpak und Feuergefängnis Container verwenden, um die Zugriffsoberfläche von Benutzeranwendungen einzuschränken. [Windows]-Container implementieren äquivalente Systeme und bieten auch Unterstützung für Linux-Container über [WSL].

Aber warum?

Zu viel?

Als ich anfing zu bauen Kiefer , habe ich ein wenig mit dem Versand meiner eigenen Container-Images experimentiert, die von Github-Versionen verteilt wurden. Das Hauptskript (trees ) Befehle waren

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

Es war ähnlich wie bei Flatpak, da ich ein statisches Ostree-Delta basierend auf dem Haupt-Pine-Image verschickte und die neuen App-basierten Rootfs [auscheckte] und dann eine Container-Instanz darüber startete. OpenVZ hatte vor v7 viele Probleme beim Ausführen von Containern (da Sie wissen ... verschachtelt Container auf einem containerbasierten [VPS], und der Kernel war ein Fork vonv2.6 (!))...es war ein riesig Zeitverschwendung.

Wenn?

Mein Versuch war, eine minimale Container-Laufzeit zu erhalten, ohne dass es erforderlich istdocker oder leistungsfähigere Software, da Docker wahrscheinlich die leichteste ist, und Dockerschwarm , da es integriert ist, teilt es viele Funktionen und bietet Ihnen die nützlichsten Funktionen für die Orchestrierung, was es im Vergleich zu den Anforderungen des Hostsystems am schlankesten macht k8s oder Nomade.

Obwohl Container ein Feature sind, das Sie vielleicht meistens wünschen, ist die Orchestrierung dies nicht. Ich denke locker gezielt Werbekampagnen ziehen die unbeabsichtigt Zielgruppe für solche Software, was einen glauben lässt, dass sie nützlich sein kann zu ihnen , ohne die Prämisse zu betonen, dass du Ja wirklich müssen viel (!) skalieren, um die Komplexitätskosten solcher Setups zu rechtfertigen. Die Anzahl der Komfortwerkzeugum k8s herum gebaut, um den Bootstrapping-Prozess eines k8s-Clusters zu unterstützen, sollte ein ausreichender Beweis sein ...

Schlussfolgerungen

Orchestrierungstools überfüllen am Ende den Platz für Lösungen zur Verwaltung von Multi-Host-Maschinen, wenn Benutzer den Unterschied zwischen Haustier- und Rinderservern nicht erkennen können. Bei vielen Gelegenheiten, Software wie ansible, pyinfra oder sogar cssh oder assh ist alles, was man jemals braucht.

Post-Tags: