NEWS
Der Broker im Container - sinnhaftigkeit?
-
Hallo,
habe eine grundlegende Frage.
Im Netz sieht man immer wieder Videos in denen der Broker in einem Container läuft.Ich will auch mal wieder einen neuen Brocker aufsetzten. Dazu soll
InfluxDB und Grafana auf einem RPi 4b mit 4GB Ram und 1TB SSD laufen.Was ist nun besser?
Docker und die entsprechenden Container oder
alles direkt auf dem PI installieren??Was wären da die Vor- und Nachteile?
Gruß
Bernd -
@berlon sagte in Der Brocker im Container - sinnhaftigkeit?:
Was wären da die Vor- und Nachteile?
Ich bin 'Fan' davon dauerhafte Installationen auch direkt/nativ auf die Hardware zusetzen und da nicht noch eine Zwischenschicht in Form eines Containers zu setzen. Gerade auf einem RPi macht das wenig Sinn, in meinen Augen. Macht die ganze Angelegenheit auch weniger komplex. Für den Containerunterhalt sollte man schon ein wenig Wissen bzgl. unix/Linux mitbrigen, um mit den Eigenheiten und Besonderheiten eines Containers klar zu kommen.
Container haben da eine sinnvolle Verwendung, wo man wechselnde Umgebungen mal schnell nachstellen will, z. B. in der Softwareentwicklung kann man das sehr gut einsetzen.
-
@berlon Auf einem PI würde ich auch keinen Container aufsetzen - aber viele setzen auf einen sparsámen MiniPC->Proxmox->Iobroker im Proxmox Container oder VM
Ich kann Dir uneingeschränkt dieses Teil als generalüberholten MiniPC empfehlen, war auch schonmal hier im Forum ein Thema:
Fujitsu Esprimo Q920 | Intel 4th Gen
i5-4590T | 8 GB | 128 GB SSD | Win 10 ProGibt es gerade hier mal wieder günstig - klick mich.
Das aktuelle Proxmox ISO installiert sich vom USB-Stick Plug and Play auf dem Fujitsu Esprimo Q920.
So könnte es dann aussehen:
IObroker unter Proxmox hat m.e. den Vorteil der schnellen/automatischen und unkomlizierten Backups auf externe Medien, Snapshots, etc.
Ein Snapshot dauert ein paar Sekunden, z.B. vor einem Adapter Update - geht etwas schief, bist Du genauso schnell wieder zurück auf dem letzten Stand. Gerade wenn mal viel ausprobiert, ist das echt genial... -
@berlon sagte in Der Brocker im Container - sinnhaftigkeit?:
ie entsprechenden C
auf einem pi würde ich direkt iobroker installieren. ich habe den iob im container, aber das ist kein pi sondern ein Intel NUC mit Proxmox/Debian. Und weil der Intel mit iobroker alles andere als ausgelastet ist, habe ich dann die Möglichkeit da weitere Anwendungen "parallel" zu installieren.
Diesen Vorteil sehe ich bei dir nicht, weil der pi wahrscheinlich von der Rechenleistung eine gute Lösung für iobroker ist, aber eben nur dafür und nicht noch parallel z.B. irgendwelche Datenbanken/Webserver oder sonstwas, (ok influx und grafana hast du noch drauf aber das sollte es dann auch sein) -
Danke für die Meinungen und Hinweise.
Werde nun den Iob nach dieser Anleitung direkt installieren.
Gibt es gute Links mit einer Anleitung um InfluxDB und Grafana zu installieren?
Da gibt im Netz doch verschiedene Anleitungen.Gruß
Bernd -
@lemuba
Habe den Fujitsu gerade bestellt. Werde mich nun mal mit dem Thema
Proxmox auseinander setzenMal sehen wie sich das entwickelt.
-
@berlon sagte in Der Brocker im Container - sinnhaftigkeit?:
mit dem Thema
Proxmox auseinander setzenist keine raketenwissenschaft. Proxmox VE 7.1 ISO Installer auf einen USB, booten, installiert sich schön geführt selber.
eine Debian VM ist schnell aufgesetzt. ioB mit einzeiler drauf. fertig. influx und grafana auf eine 2. VM. (gehören für mich zusammen) ich hab dann noch eine 3. VM mit Motioneye, falls webcams im einsatz sind. -
Fürn Iobroker sollte ein Ressourcen sparender LXC Container völlig ausreichen. Ausnahme, ich will/muss von der Iobroker Instanz auch auf USB Devices zugreifen, bzw. welche anbinden… Dann ist im der Tat eine VM zum einfachen USB Port durchreichen sicherlich die beste Wahl.
-
@lemuba sagte in Der Brocker im Container - sinnhaftigkeit?:
Fürn Iobroker sollte ein Ressourcen sparender LXC Container völlig ausreichen
Naja!
Diese Aussage ist nicht immer zielführend.
Auch wenn du das später relativierst, so plakativ am Anfang klingt es andersEin Einsteiger hat mit einem Container meist mehr Probleme.
Ein Container ist eher was für User, die wissen wie sie damit umgehen müssen.zum zweiten ist diese Einsparung von Ressourcen, bei heutiger Hardware eher irrelevant
-
@berlon Proxmox bringt Laune, auch für andere VMs/Container - hast ja in meinem Screenshot gesehen, Wireguard VPN, Wetterstation, etc.,etc. Alle meine VMs und Container sichern sich Nachts auf mein NAS. Keine Sorge mehr vor Datenverlust und zeitaufwendigen Wiederherstellungen.
-
Ob Container oder VM, unter Proxmox wird jeder schnell seinen Favoriten hervorspielen…
-
@lemuba und wenn ich genug "Ressourcen" habe? was spricht dann gegen VM?
genau deine "Ausnahme" ist für einen einsteiger oft das problem...
ansonsten ist die frage, ob VM, oder LXC schon fast glaubenssache... -
LXC container und docker container sind technologisch das selbe.
Die Ausführung und Bedienung unterscheiden sich allerdings.
Beide basieren auf der Technik der process virtualization.
Dabei werden nur die laufenden Prozesse voneinander getrennt
raspi läuft mit einem container ebenfalls sehr gut, klar hier muss man ein paar prozentpunkte der Performance abziehen. aber der Prozessor kann ebenfalls prozesse virtualisieren und daher laufen sie direkt und werden nicht nur emuliert. Aber bei einem raspi ist halt schon nach wenigen containern parallel schluss weil performance oder hauptspeicher nicht ausreicht.
container sind meiner Meinung nach besser zu aktualisieren, als VMs, da Datenhaltung und Basissystem voneinander trennbar ist und ich dadurch einfach die gleichen daten mit einem aktualisierten container laufen lassen kann. updates des iobroker containers mit neuem Betriebssystem/node/etc können dadruch in wenigen Minuten vonstatten gehen.Bei einer VM wird zusätzlich auch noch die Hardware virtualisiert.
Teilweise gibt es hier auch Optimierungen, das bspw die Grafik ebenfalls direkt durchgereicht wird. Das muss aber das VM-System zulassen (bei Grafik scheitert das oft an der fehlenden Mitarbeit der Grafikkartenhersteller oder fehlende Dokumentation).
Mit andere Hardware ähnlich.
VM benötigt idR mehr Speicher auf der Festplatte und im RAM.
Mit VMs kann ich verschiedene Betriebssystemfamilien (MacOS, Linux, Windows) parallel auf einem Rechner betreiben. Container geht nur Linux (nach meinem wissen)Ob VM oder Container. Man muss sich jeweils mit einem zusätzlichen System beschäftigen und die Grundkonzepte verstehen. Proxmox macht es mit einer mitgelieferten Verwaltungsoberfläche einfacher.
Docker ist primär über die console zu bedienen. Mit Portainer gibt es aber mittlerweile ebenfalls vereinfachende Verwaltungssoftware (sind zwar schon gut, aber man muss die Begriffe schon verstehen)
LXC hab ich selbst noch nicht verwendet.Wenn man viel Hardware direkt in den Computer einbauen will, welche nicht standardisiert ist (also bspw. über serielle/parallele Schnittstelle, GPIOs) oder direkt die Grafik des Computers nutzen will, dann würde ich primär auf dem Rechner ohne Container/VM installieren.
Serversysteme mit viel Festplatten oder Netwerk-kommunikation sind für Container sehr gut geeignet
VMs kann man nehmen wenn man viel Speicher und Performance und auf starke Separierung der Systeme aus ist -
@oliverio sagte in Der Brocker im Container - sinnhaftigkeit?:
LXC container und docker container sind technologisch das selbe.
wir haben da aber von VM und LXC geredet, nicht von docker...
davon abgesehn, auf einem raspi irgendetwas von der sorte laufen zu lassen, ist für mich unvorstellbar.container sind meiner Meinung nach besser zu aktualisieren
wie bitte? ich kann ioB aktualisieren, ich kann die VM aktualisieren.
bspw die Grafik ebenfalls direkt durchgereicht wird
wir reden hier von serversystemen, da gibts keine grafik. ausser am frontend.
VM benötigt idR mehr Speicher auf der Festplatte und im RAM.
na und?
VMs kann man nehmen wenn man viel Speicher und Performance und auf starke Separierung der Systeme aus ist
genau so ist es. sind wir wieder am anfang, auf einem raspi? never...
-
und um den "Streitpunkt" nochmal zu hinterfragen:
@oliverio sagte in Der Brocker im Container - sinnhaftigkeit?:
VM benötigt idR mehr Speicher auf der Festplatte und im RAM.
Wieviel ist das denn?
1MB oder 1 GB? -
@da_woody
du fühlst dich gleich persönlich angegriffen, wenn man auf antworten drückt und vergisst den namen wegzumachen, der da vollautomatisch eingeblendet wird?meine Informationen sollten mit als Information zur Entscheidung bei TE dienen und nicht dich persönlich zu belehren oder benötigst du nachhilfe von mir?
-
@oliverio sagte in Der Brocker im Container - sinnhaftigkeit?:
wenn man auf antworten drückt und vergisst den namen wegzumachen, der da vollautomatisch eingeblendet wird?
Dann ist das der falsche "Antworten Button"
Wenn du nicht jemandem, sondern ganz allgemein antworten willst musst du ganz unten den großen blauen "Antworten" Button klicken.
-
@oliverio was ist jetzt kaputt?
ich hab mich nicht persönlich angegriffen gefühlt. ich hab auch nur informationen geliefert, die halt nicht mit deiner meinung überein stimmen.
und sollte ich belehrungen, oder nachhilfe brauchen, frag ich danach. eventuell auch dich.
logger bleiben... -
@da_woody
Wie bitte? und
Na und!
gehört für mich eher zur emotionalen
als zur sachlichen Diskussion. -
@homoran sagte in Der Broker im Container - sinnhaftigkeit?:
und um den "Streitpunkt" nochmal zu hinterfragen:
@oliverio sagte in Der Brocker im Container - sinnhaftigkeit?:
VM benötigt idR mehr Speicher auf der Festplatte und im RAM.
Wieviel ist das denn?
1MB oder 1 GB?das lässt sich schwer sagen, da es vom verwendeten betriebssystem abhängt
ein alpine linux (5MB docker image) gegenüber einem ubuntu server LTS (30 MB docker image) sind große unterschiede.
Das ist meist das absolute minimum an systemprogramme um applikationen laufen zu lassen. zusätzliche tools sind hier meist nicht dabei.
bei einer vm kann man theoretisch auch diese kleinen images installieren. da man aber meist auch mit shell in der vm was machen will nimmt man da eher die größeren umfänge (ubuntu 2.5-8GB) (alpine 2GB, genaueres hab ich nicht gefunden.)Bei docker sind das Größen der images auf der Festplatte
Dazu kommen noch die Größe der sogenannten volumes. Das sind die Datenbereiche, die die beweglichen Daten beinhalten (bei iobroker bspw das komplette Verzeichnis /opt/iobroker)
für das ram verbrauch der aktuelle iobroker-container mit sogut wie keinem adapter 500MB
ein einfacher webserver-container (alpine+nginx) bspw verbraucht nur 5MB
der docker deamon und container deamon zur verwaltung aller container verbraucht bei mir ca 5MB wenn ich es richtig abgelesen habe,da ich selbst aktuell kein proxmox laufen habe, kann ich dir den konkreten RAM-Verbrauch nicht sagen. der Festplattenplatz ist meist größer, weil man umfangreicher distributionen in einer vm installiert, denen man dann auch größere virtuelle festplatten spendiert.
RAM-Verbrauch dürfte im minimum dem einer aktuellen linux-installation (je nach distro) sein. dazu kommt noch der ressourcenbedarf für die vm-verwaltung