k3s Konfiguration #
Deployment #
Quelle #
Die Konfigurationen werden direkt als Kubernetes-Manifeste und über ein benutzerdefiniertes Helm-Chart aus einem privaten Repository auf git.zyria.de bereitgestellt.
Dokumentation #
Die offizielle Dokumentation von k3s ist unter docs.k3s.io zu finden.
Funktion #
Dieser Chart und die zugehörigen Manifeste definieren Kernkomponenten der k3s-Installation, die über den Standard hinausgehen.
Lokale Anpassungen #
Die Konfiguration erfolgt über die in diesem Verzeichnis enthaltenen YAML-Dateien.
Wichtige Komponenten #
-
Local Path Provisioner: Die Datei
local-path.yamlinstalliert den Local Path Provisioner. Dieser stellt eine einfache Möglichkeit dar, persistente Volumes mithilfe des lokalen Speichers auf den jeweiligen Kubernetes-Nodes zu erstellen. Er ist der Standard-StorageClass im Cluster. -
Kubernetes VIP: Die Datei
kubernetes-vip.yamldefiniert einenServicevom TypLoadBalancerfür den Kubernetes API-Server (kubernetes.default.svc). Dies weist dem API-Server eine stabile virtuelle IP-Adresse (VIP) aus dem Metallb-Adresspool zu. Dies vereinfacht den Zugriff auf die API von außerhalb des Clusters. -
k3s Helm Chart: Ein Platzhalter-Chart, das möglicherweise für zukünftige, direkt mit k3s zusammenhängende Konfigurationen verwendet wird.
Installation #
Die Komponenten werden durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/k3s-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/k3s | kubectl apply -n kube-system -f -
Abhängigkeiten #
- k3s: Eine laufende k3s-Installation ist die Grundvoraussetzung.
- Metallb: Wird benötigt, um dem
kubernetes-vip-Service eine externe IP-Adresse zuzuweisen.