Kubernetes einfach mit rancher : Rancher (Part 3)
Kubernetes einfach mit rancher: Rancher, handelt um die Inbetriebnahme von der Rancher UI. Ich für meinen Teil mag es per fqdn auf meine Dienste/Server/Tools zuzugreifen. Ein Thema wird das SSL Zertifikat sein.
Requirements
Für das weitere Vorgehen müssen ein paar Voraussetzungen erfüllt sein. Wir brauchen Docker in einer funktionierenden Form auf einem Server.
Wir können ohne viel drumherum Rancher als docker container starten. In Part 2 (Kubernetes einfach mit rancher : Server) dieser Serie haben wir bereits Docker auf unseren Servern installiert. Für eine einfache Inbetriebnahme reicht dieses doing vollkommen aus.
Falls bereits eine Umgebung mit Docker und Nginx existieren sollte - z.B. wie in dem Beitrag SSL gesicherte Anwendungen mit Nginx und Docker erklärt - können wir mit docker-compose Rancher in so einer Umgebung ausführen.
Rancher hat für den Betrieb auch seine Voraussetzungen, je nach Vorgehen - ob "High Avaibility" oder "Single node" - können diese variieren. Bevor wir weiter machen, sollten die Rancher Node Requirements zumindest einmal eingesehen werden. Einige dieser Voraussetzungen haben wir bereits in Part 2 (Kubernetes einfach mit rancher : Server) abgedeckt. Wir betrachten in dieser Serie übrigens die Single Node Variante :).
Deployment Size | Clusters | Nodes | vCPUs | RAM |
---|---|---|---|---|
Small | Up to 5 | Up to 50 | 1 | 4 GB |
Medium | Up to 15 | Up to 200 | 2 | 8 GB |
Rancher UI als Docker
Kubernetes einfach mit rancher: Rancher - der Titel :-) - ist sehr simpel, so ist es auch mit der Rancher UI Inbetriebnahme. Rancher UI wird als Docker Image - übrigens im docker hub - von Rancher Labs bereitgestellt.
Der Rancher UI Container lässt sich mit einpaar Parametern sofort starten und ist danach sofort einsatzbereit.
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
rancher/rancher:latest
Somit würden wir eine Rancher UI Instanz mit einem self-signed certificate starten.... Nee, das mögen wir nicht! Viel schöner ist es z.B. die Umgebung mit dem DNS Namen und mit SSL aufzurufen.
Rancher UI mit Zertifikat
In der Single Node Installationsanleitung werden mehrere Möglichkeiten für die Inbetriebnahme von Rancher Aufgezeigt - die simple Methode mit einem self-signed Zertifikat haben wir bereits gezeigt.
Für mich war - oder ist immer noch - die Option mit let´s encrypt interessant. Um mit einem Let´s encrypt Zertifikat Rancher UI zu betreiben, brauchen wir natürlich eine domain und einen A Record der auf unseren Rancher UI Server zeigt. Für unser Beispiel nenne ich die Domäne master.ak8s.de.
Der Docker Befehl für dieses Unterfangen ist ziemlich einfach. Wir müssen lediglich mit dem --acme-domain Schalter unseren DNS-Namen mitgeben.
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
rancher/rancher:latest \
--acme-domain master.ak8s.de
Danach kann es ein paar Sekunden dauern, bis wir über https://master.ak8s.de unsere Installation aufrufen können.
Erster Zugriff
Der erste Zugriff ist ziemlich easy, wir müssen zuerst einmal ein Admin Passwort festlegen. Danach müssen wir die URL des Masters definieren. Für unser Beispiel ist es eben https://master.ak8s.de. Die Server-Url ist wichtig, diese muss von ausserhalb aufgelöst werden können.
Danach können wir auf unsere Rancher Installation zugreifen. Uns erwartet natürlich zuerst einmal eine leere Cluster Auflistung.
Optional
Nun kann z.B. Helm-Charts im Catalog aktiviert werden. Hierfür reicht es aus unter Tools - siehe Top Navigation - auf Catalogs zu klicken. Anschließend kann auf enable geklickt werden.
Backups sind auch so ein Thema, und insbesondere bei einer Single Node Installation immens wichtig. In der Rancher Dokumentation ist ein einfacher Weg für Backups beschrieben. Mit einem Cronjob könnte man diese automatisieren.
Ein Blick in die Rancher Best Practices schadet natürlich auch nicht. Alle Max-Security-Fans können sich auch den Hardening Guide zu leibe tun.
Ausblick
In der nächsten Ausgabe dieser Serie, werden wir unseren ersten RKE Cluster erstellen und ein paar Workloads deployen.