Oft ist es für Neuankömmlinge in der Kubernetes-Welt nicht leicht sich zurechtzufinden. Das Ergebnis ist eine frustrierende Suche da Kubernetes selbst noch sehr aktiv weiterentwickelt wird. Unser Thema in diesem Beitrag ist die Helm-Installation (bzw. Tiller, die serverseitige Komponente). In der Theorie einfach, aber die Einfachheit kann darüber hinweg täuschen, dass man viele Details zuerst lernen soll.
Beispiel – Es wird hochgepriesen wie einfach es ist, Helm zu installieren. Prinzipiell sind 2 Schritte nötig:
- Helm herunterladen – als Code oder als Binärdatei für die jeweilige Betriebssystem-Version. Downloadseite: GitHub.com
- Kommandozeile öffnen und helm init ausführen
Nichts leichter als das oder? Nun ja, bis die ersten Fehlermeldungen auftauchen wenn man Charts tatsächlich installieren möchte.
Sidebox: Was ist Helm? Kurz: Es handelt sich um eine Art Paketmanager (analog apt, npm, nuget etc.), welches die Installation von Charts ermöglicht – die „Pakete“ für Kubernetes. In der Praxis aber ist Helm nicht immer das richtige, vor allem in Produktivumgebungen soll dies sorgfältig überlegt werden. Lesen Sie einige Überlegungen hierzu: medium.com
Kommando zurück
Falls Sie bereits das o.g. Kommando auf Ihr Cluster ausgeführt haben sollten, hier das Gegengift:
helm reset --force
Holen Sie sich folgende Konfigurationsdatei oder klonen Sie mein GitHub-repository: https://github.com/CodingSinceThe80s/hyperledger1point2-on-k8s/blob/master/k8s-setup/helm-rbac.yaml
Die Datei erstellt ein Serviceuser für Tiller im Standardnamensraum kube-system. Der Username lautet einfach tiller, Sie können sich jedoch gerne für einen beliebigen Namen entscheiden. Bitte Vorsicht bei Produktivumgebungen, dieses Account erhält hohe Administrationsrechte mit der o.g. Datei ! Für Ihr Szenario müssen die Rechte ggf. angepasst werden. Für eine Testumgebung/Entwicklungsumgebung reicht dies jedoch.
kubectl apply -f helm-rbac.yaml
helm init --service-account tiller
So, das wars, jetzt können helm Charts nach Herzenslust installiert werden. Für eine sehr gute und detailreiche Dokumentation was das Thema „Rollenbasierte Zugriffskontrolle“ (Role Based Access Control) empfehle ich die Dokumentation auf bitnami.com (Englisch)
