Beiträge von Olaf Krause

    Moin,

    ----------------------------

    Anmerkung (05.01.2023):

    Das ist ein Tagebuch, von daher kein Tutorial ... einige Irrungen und Wirrungen vieles tat nicht - bis ich auf RKE2 und Promox als hosting lösung gegangen bin. Also halbwegs produktiv wird es ab RE: Kubernetes Cluster installieren und betreiben- Tagebuch alles davor könnte man auch sehen als: "mach es nicht so / Erfahrung sammeln".

    BTW: wer eine "Spielumgebung" sucht sollte sich mal RancherDesktop anschauen. Kubernetes im kleinen.

    ----------------------------

    ich habe ja schon für den Voron 2.4 und V0 ein Tagebuch hier erstellt - das ist quasi readonly für Euch... Wenn Diskussionsbedarf mach ich separate Diskussionsfreds. Warum das also nicht auch mal für IT zeuchs machen?

    Boom here we are... :)

    Vorweg wenn Ihr das nachmachen wollt: Braucht Ihr mindestens 2 VMs oder halbswegsbrauchbare Rechner mit Linux (ubuntu) oder mehrere am besten PI4 mit Ubuntu core. HyperV oder mehr als 2 VMs sind eigentlich nicht nötig um die "Mechanik" zu lernen.

    WTF ist Kubernetes und warum überhaupt. Zur Zeit betreibe ich ja eine HyperV Cluster mit mehr und mehr VMs. Hmm OK was ist ein Hyper-V Cluster und was ist eine VM. Also eine VM (virtuelle Maschine) ist quasi so etwas wie ein ganzer Computer mit Betriebssystem und all der Software die man braucht installiert. Eine VM läuft nur nicht direkt auf einer Hardware sondern über einen Hypervisor, bei mir HyperV, das könnte aber auch VMWare oder ähnliches sein. Cluster sind dann mehrere Hypervisoren?? die zusammenarbeiten und die VMs untereinander verteilen können (loadsharing ausfallsicherheit etc.). Kubernetes ist dann so etwas ähnliches wie so ein Orchestrator, aber eben nicht für VMs, sondern für Container. OK Container noch was neues. Im Gegensatz zu VMs haben Container kein komplette OS an board, sondern greifen auf den Host durch. Container werden meist auch nur für eine Anwendung gemacht (also webserver, db, piholes...) auf eine VM läuft ja meist alles mögliche. Statt von Anwendungen spricht man auch von services die ein Container anbietet.

    Warum jetzt also nochmals der Umsteig von HyperV-Cluster auf Kubernetes?

    • Resourcen sparen durch weniger overhead bei einem Container
    • Strikte trennung der Services - bei VMs tendiert man ja schon mal dazu mehr auf eine VM zu packen um den OS overhead zu verkleinern
    • Ich will das endlich mal lernen - Docker, container, kubernetes! Ich hatte ja schon mal einen Anlauf genommen; dann aber aufgehört, weil es mir viel zu kompliziert für privat erschien. Jetzt fast zwei Jahre später... nochmals von vorne :)

    Mein Cluster hat gerade 4 Server (1 Fileserver + 3 Worker für VMs) und darauf laufen ca. 20 VMs + etliches anderes Zeug. Die Idee ist nun Ubuntu VMs zu erzeugen... moment dann hab ich ja noch mehr VMs?! Ja richtig aber nur ein paar und dann ziehen ja die alten VMs hoffentlich in ihre Container... Also nochmas VMs erzeugen ala X Master und Y Worker. Warum Ubuntu? Weil ich Ubuntu ein bisserl kenn, ich bin ja sonst eher auf Windows unterwegs und weil mit Ubuntu Core auch ein OS für Raspberries vorhanden ist. Also ja ich möchte meine RPIs als Worker mit einbinden (das aber eher spaßeshalber). Das ist vor allem weil ARM und x64 dann gemischt läuft, mal schauen wie das funktionieren wird.

    In dem Bild seht Ihr meine X VMs die auf den 3 Cluster servern laufen. Unten dann schon zwei VMs die einen ersten Master und Worker mit Ubuntu (20 LTS Server) beinhalten. Ach ja als Kubernetes habe ich mich für K3S von Rancher entschieden, hautpsächlich weil es sehr leichtgewichtig ist und auch auf PIs läuft. Deswegen auch der Name der VMs K3-<type des Knotens>-<OS>-<Host>-<instanz>, US steht für Ubuntu Server, HV HyperV als Host und Instanz ist klar die laufende Nummer - könnt Ihr aber machen wie Ihr wollt.

    IP-Adresse für Server vergebe ich immer statisch, DHCP nur für unwichtigen kram wie Ipads und anders IOT gedöns wo die IP egal ist (reine clients).

    Speicherbedarf ist nackig <1GB auf dem Master habe ich noch etwas mehr software installiert, der Worker ist komplett minimales Ubuntu Server ohne extra Pakete.

    Ach ja Ubuntu läuft unter HyperV probemlos wenn man den Secureboot deaktiviert. Ihr braucht nat. auch keinen Cluster Hyper-V auf Eurem WIndows system oder VMware oder gar eine klassische Hardwareinstallation auf einem alten Rechner tut es auch.


    Bevor es die Tage dann weiter geht hier mal ein paar Youtubevideos zur Unterhaltung

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Habt Geduld mit mir - eines von vielen Projekten ...

    Ach ja und das eigentlich deployment von k3s werde ich versuchen mit Ansible oder ähnlichen Tools zu automatisieren. D.h. wenn man eine Grundkonfig (sprich VMs and PIs laufen) hat soll der Cluster am Ende vollautomatisch erstellt werden können. Das VM deployment könnte man jetzt auch automatisieren, aber darauf werde ich verzichten denke ich. Ich werde die VMs, wenn initial erstellt und für gut befunden, einmal sichern und als Testgrundlage nehmen. Bei den PIs images sichern.

    Noch ein Nachtrag:

    Hier seht Ihr den Platzverbrauch der virtuellen Platten der beiden Ubuntu Server contra Ubuntu Dektop (standard installationen). Also nimmt auf jeden Fall die Server Version, wenn Ihr auf die GUI verzichten könnt. Es fällt einem am Anfang etwas schwer, aber wenn man sich auf eine bestimmt Linux Distro einschiesst kommt man auf der Shell recht schnell zurecht.

    Also für meine PC Drucke benutze ich pulverbeschichtete PEI sheets. Die geklebten kannst Du sonst nach 3 mal nutzen wegwerfen - lösen sich und werfen Blasen.

    Dadrauf dann Magigoo für PC weil das solange heiß super haftet, aber wenn kalt leicht lösbar ist. Ansonsten reisst Du selbst bei Pulverbeschichtung löcher in die Schicht (habe ich schon).

    Was ich schon lange mal probieren wollte war nacktes Stahlsheet mit Magigoo.

    Moin Moin schön wieder was von Dir zu lesen.

    Naja Nerven... ist halt so wenn man denkt macht man mal im vorbeigehen mit und muss dann erst Makros anpassen etc... kostet Zeit und Zeit ist kostbar :)

    Mein V0 steht auf meinem Chaos Schreibtisch wieder mal seit Monaten unberührt - Weihnachten dann ABER DIESES Jahr :) Gleichzeitig sollte mein Mosaic Pro kommen... dann werden bunte Teile gedruckt. Bilder wären super (im V0 Thread)

    Hatte kurz überlegt einen Prusa XL vorzubestellen - um zumindest wieder was neue lauffähiges nächstes Jahr zu haben, aber das mit oben offen ist doch Banane, Und eigentlich ist er mir zu groß.

    Noch als Ergänzung - wie man Zabbix von Maria/mysql database auf PostgreSQL migrigriert wird sehr gut in dem Video erklärt:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    und

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Code
    apt install postgresql
    sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

    Add repo for timescale

    Code
    sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/timescale.keyring] https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main' > /etc/apt/sources.list.d/timescaledb.list"
    wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/timescale.keyring

    Install timescale itself (check which version you are running using psql -V)

    Code
    sudo apt install timescaledb-2-postgresql-14
    timescaledb-tune --quiet --yes

    Restart PostgreSQL instance

    Code
    sudo systemctl restart postgresql
    sudo systemctl status postgresql

    if not enabled yet don't forget to do it otherwise db will not start after reboot

    Code
    sudo systemctl enablepostgresql

    to check if it works

    Code
    su - postgres
    psql
    CREATE DATABASE testdb;

    Next, change the database to testdb and connect it to the TimescaleDB with the following command:

    Code
    \c testdb
    CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

    you should get something like

    don't forget to enable remote access etc. see also https://www.linuxcapable.com/how-to-install…n-ubuntu-20-04/

    Wollte ich schon seit Ewigkeiten machen heute endlich dazu gekommen. Datenbank (MariaDB) von der Systempartition auf eine extra Platte geschoben. War sicherlich 15min lang nicht ereichbar (ich Dödel hatte den falschen owner gesetzt und der DB Prozess wollte nicht starten).

    Aktuell läuft auch Zabbix mit dem DB server - das werde ich aber noch ändern - Zabbix schreibt da einfach zu viele Daten für MariaDB -> wird auf eine PostGreSQL mit TimeDB geändert.

    Except USA now worldwide delivery possible. With the following exceptions/extras/comments:

    • Shipping costs as in the shop - in case country is missing let me know and I will add
    • Replacements costs in case of dead on arrival or broken while transport are covered by us. Luckily until now never happened
    • Outside Germany:
      • In case warranty cases (hopefully never needed) delivery costs by receiver. Parts of course by us.
    • Outside EU (e.g. UK, CH, Norway...) receiver has to cover country specific customs and import taxes

    Sodele gerade den Steinalten 3COM Switch durch einen alten DLink ersetzt. Problem war das der 3Com irgendwann nicht mehr erreichbar ist und sich nach Wochen immer eine IP gekrallt hat die schon belegt war - keine Ahnung wieso.
    Hoffe die DLink Kiste läuft jetzt problemloser ohne IPklau - da der Internetverkehr darüber geht - war ich 10min offline.

    source: https://computingforgeeks.com/install-and-co…gent-on-ubuntu/

    Code
    wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
    sudo apt install ./zabbix-release_5.0-1+focal_all.deb

    Ubuntu 18.04:

    Code
    wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
    sudo apt install ./zabbix-release_5.0-1+bionic_all.deb

    Step 2: Install and Configure Zabbix Agent

    Once repository is added install the packages:

    Code
    sudo apt update
    sudo apt install zabbix-agent

    Zabbix agent configuration is /etc/zabbix/zabbix_agentd.conf. Edit

    Code
    $ sudo vim /etc/zabbix/zabbix_agentd.conf
    #Specify Zabbix server IP Address
    Server=<yourserver>
    
    #Specify Zabbix server ( For active checks)
    ServerActive=<yourserver>
    
    # Set this server hostname reported by Zabbix agent
    Hostname=<yourhostname>

    Restart zabbix-agent after making the change:

    Code
    sudo systemctl restart zabbix-agent
    sudo systemctl status zabbix-agent

    If you have ufw enabled, allow port 10050 on the firewall. This is used by Zabbix agent daemon.

    Code
    sudo ufw allow 10050/tcp

    Source: https://devanswers.co/how-to-fix-aut…tu-20-04-20-10/

    The safest fix to get rid of these popups is to create a new configuration file in /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf.

    Code
    sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf

    Paste in the following:

    /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf

    Code
    polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.color-manager.create-device" || action.id == "org.freedesktop.color-manager.create-profile" || action.id == "org.freedesktop.color-manager.delete-device" || action.id == "org.freedesktop.color-manager.delete-profile" || action.id == "org.freedesktop.color-manager.modify-device" || action.id == "org.freedesktop.color-manager.modify-profile") && subject.isInGroup("{users}")) { return polkit.Result.YES; }
    });

    Sodele und nun mit der neuesten Firmware wieder das procedere des neuflashens. Jetzt kennt er die Art der default parameter für Macros nicht mehr und neu flashen weil

    Code
    mcu 'rpi': Command format mismatch: config is_config=%c crc=%u is_shutdown=%c move_count=%hu vs config is_config=%c crc=%u move_count=%hu is_shutdown=%c
    This type of error is frequently caused by running an older
    version of the firmware on the micro-controller (fix by
    recompiling and flashing the firmware).
    Known versions: host=v0.10.0-113-gd4aee4f5-dirty, mcu=v0.10.0-113-gd4aee4f5-dirty-20211108_155639-octovoron, z=v0.10.0-113-gd4aee4f5-dirty-20211108_155639-octovoron, rpi=v0.9.1-779-g59bd51d2-dirty-20210918_152238-octovoron
    Once the underlying issue is corrected, use the "RESTART"
    command to reload the config and restart the host software.
    Protocol error connecting to printer

    rpi ist nur ein Beispiel.


    Beispiel wie man die neuen defaults handhabt

    Code
    [gcode_macro NOZZLE_ON]
    gcode:
    {% set LIGHT = params.LIGHT|default(100)|int %}
    M117 Switch nozzle on
    SET_PIN PIN=nozzlelight VALUE={LIGHT}

    ...

    ...

    So Stunden später (gefühlt) - der V2 ist nicht mal so einfach vom Hochregal zu bekommen. Ist immer eine Frickelei um an die SD slots ...

    Code
    16:25:57 Firmware version: v0.10.0-113-gd4aee4f5-dirty
    16:25:58 Connected to host via /tmp/printer @115200bps

    tut wieder

    Ist jetzt nicht zwingend nur Qidi aber schaut ab und zu mal drauf ob Euer Octoprint spinnt und 100% CPU braucht. Speziell jetzt mit update 1.72 habe ich nach dem Update au f meinen Druckern überall 100% CPU gehabt. Ist mir nur beim Voron aufgefallen weil der immer bisserl gedruckt, angehalten, gedruckt angehalten.... Nach restart vom kompletten PI war sowohl Voron als auch Qidi wieder OK.