- Offizieller Beitrag
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
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.