Anwendungen installieren
Anwendungen bringen Sie auf zwei Wegen in Ihr Cluster: über eigene Manifeste oder über Helm Charts. Manifeste eignen sich für eigene Anwendungen, Helm für fertige Softwarepakete mit vielen Konfigurationsmöglichkeiten.
Voraussetzungen
- Ein Cluster im Status Running
- Eine geprüfte Verbindung per
kubectl, siehe Mit dem Cluster verbinden
Installation per Manifest
Eigene Anwendungen beschreiben Sie in YAML-Dateien und wenden diese an:
# Einzelne Datei
kubectl apply -f deployment.yaml
# Alle Dateien eines Verzeichnisses
kubectl apply -f ./manifeste/
Ein vollständiges Beispiel finden Sie unter Erstes Image deployen.
Installation per Helm
Helm ist der Paketmanager für Kubernetes. Ein Chart bündelt alle Manifeste einer Anwendung; über Werte passen Sie die Installation an, ohne die Manifeste selbst zu bearbeiten.
Helm installieren
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
Repository hinzufügen
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Verfügbare Charts durchsuchen:
helm search repo wordpress
Chart installieren
helm install meine-app bitnami/wordpress \
--namespace web \
--create-namespace
Dabei ist meine-app der frei wählbare Name der Installation (Release). Unter diesem Namen verwalten Sie die Anwendung später.
Installation anpassen
Die konfigurierbaren Werte eines Charts listen Sie mit:
helm show values bitnami/wordpress
Einzelne Werte setzen Sie direkt:
helm install meine-app bitnami/wordpress \
--namespace web \
--create-namespace \
--set service.type=ClusterIP \
--set persistence.enabled=false
Bei umfangreicheren Anpassungen legen Sie eine eigene Wertedatei an:
# werte.yaml
service:
type: ClusterIP
persistence:
enabled: false
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: 1000m
memory: 1Gi
helm install meine-app bitnami/wordpress \
--namespace web \
--create-namespace \
--values werte.yaml
Halten Sie Ihre Wertedatei in der Versionsverwaltung vor. So bleibt nachvollziehbar, mit welcher Konfiguration eine Anwendung installiert wurde – und die Installation ist reproduzierbar.
Installationen verwalten
# Installationen auflisten
helm list --all-namespaces
# Verwendete Werte einer Installation anzeigen
helm get values meine-app -n web
# Status einer Installation
helm status meine-app -n web
Aktualisieren
helm repo update
helm upgrade meine-app bitnami/wordpress \
--namespace web \
--values werte.yaml
helm upgrade ohne --values setzt zuvor gesetzte Werte auf die Standardwerte des Charts zurück. Geben Sie Ihre Wertedatei bei jedem Upgrade erneut an – oder verwenden Sie --reuse-values.
Zurückrollen
# Verlauf der Installation
helm history meine-app -n web
# Auf die vorherige Version zurückrollen
helm rollback meine-app -n web
# Auf eine bestimmte Revision zurückrollen
helm rollback meine-app 3 -n web
Entfernen
helm uninstall meine-app -n web
Daten, die eine Anwendung außerhalb des Clusters abgelegt hat – etwa in S3 Object Storage oder auf einer Datenbank-VM – bleiben beim Entfernen der Installation bestehen und müssen separat aufgeräumt werden.
Vor der Installation prüfen
Mit --dry-run sehen Sie die erzeugten Manifeste, ohne etwas im Cluster zu verändern:
helm install meine-app bitnami/wordpress \
--namespace web \
--values werte.yaml \
--dry-run --debug
Hinweise für den produktiven Betrieb
- Ressourcen festlegen: Setzen Sie
requestsundlimits, damit eine Anwendung keinen Node vollständig auslastet. - Persistenz prüfen: Viele Charts fordern standardmäßig ein persistentes Volume an. Das funktioniert im Cluster – prüfen Sie lediglich, ob Storage-Klasse und angeforderte Größe zu Ihrem Bedarf passen.
- Service-Typ bedenken: Charts setzen häufig
service.type=LoadBalancervoreingestellt. Ein solcher Service erhält keine externe Adresse; stellen Sie aufNodePortoderClusterIPmit Ingress um. - Namespaces trennen: Installieren Sie Anwendungen in eigene Namespaces, um Rechte und Ressourcen sauber abzugrenzen.
- Chart-Version festlegen: Mit
--versionpinnen Sie die Chart-Version und vermeiden unbeabsichtigte Sprünge.