Back openDesk Edu for a sovereign, open-source education â every vote counts.
Vote nowSave products you love by clicking the heart icon.
Nix is not all-or-nothing. From a pinned devShell to immutable A/B-OTA appliances â six levels of adopting the Nix spirit, with real experience from K3s clusters, air-gapped registries, and Nix-built mail server containers.
Flux v2.8.0 erreichte am 24. Februar 2026 den GA-Status â das bedeutendste Feature-Release seit Flux v2.0. Es bringt die UnterstĂŒtzung fĂŒr Helm v4 mit, wodurch Server-Side Apply und kstatus-basierte Health-Checks fĂŒr Helm-Releases eingefĂŒhrt werden. Helm v4.0.0 selbst erreichte bereits im November 2025 den GA-Status; eine Hauptversion mit Breaking Changes fĂŒr das CLI, das Plugin-System und Post-Renderer.
Zwei konvergierende Ănderungen sind entscheidend, wenn Sie GitOps in der Produktion betreiben:
combined, was reale Workloads beeintrĂ€chtigt (Details siehe unten).Dieser Leitfaden fĂŒhrt Sie durch die Ănderungen, die Fehlerquellen und den Weg zur Migration ohne Drama.
| Feature | Auswirkung |
|---|---|
| Helm v4 UnterstĂŒtzung | Server-Side Apply + kstatus Health-Checks fĂŒr HelmReleases |
| CEL Health-Checks (HelmRelease) | Benutzerdefinierte Readiness-Evaluierung fĂŒr CRDs |
.status.inventory | Inventar der verwalteten Ressourcen im HelmRelease-Status |
CancelHealthCheckOnNewRevision | Reduzierte mittlere Wiederherstellungszeit (MTTR) |
| Cosign v3 UnterstĂŒtzung | Verifizierung von OCI-Artefakten und Container-Images |
| ArtifactGenerator | Extrahieren und Modifizieren von Helm-Charts aus Tarballs |
| Benutzerdefinierte SSA Apply-Stages | Reihenfolge der Ressourcen-Anwendung im kustomize-controller |
| PR-Kommentare ĂŒber Notifications | Flux kann direkt Kommentare in Pull Requests hinterlassen |
UseHelm3Defaults Feature-Gate | Wiederherstellung des Helm v3-Verhaltens systemweit |
Helm v4 implementiert Post-Renderer als Plugins. Sie können kein ausfĂŒhrbares Programm mehr direkt an helm render --post-renderer ĂŒbergeben â es muss ein Plugin-Name angegeben werden. Jeder bestehende Post-Renderer-Workflow benötigt nun einen Plugin-Wrapper.
combined geĂ€ndertDies ist die Breaking Change, die Ihnen am wahrscheinlichsten Probleme bereiten wird. In Helm 4 werden Hooks nun in den YAML-Stream integriert, der an die Post-Renderer ĂŒbergeben wird. Ein Post-Renderer wie Kustomize â der keine mehreren Objekte mit demselben vollqualifizierten Namen zulĂ€sst â schlĂ€gt fehl, wenn ein Chart beispielsweise eine RBAC-Ressource erneut definiert, die bereits von einem pre-install Hook verwendet wird und auch in den regulĂ€ren Templates erscheint.
Helm 4 definiert drei Strategien:
| Strategie | Verhalten | Anwendungsfall |
|---|---|---|
combined (Standard) | Hooks + Templates in einem Stream | Kein Post-Renderer oder einer, der Duplikate toleriert |
separate | Hooks und Templates werden in unabhÀngigen Aufrufen post-rendered | Post-Renderer, die anhand der IdentitÀt deduplizieren (Kustomize) |
nohooks | Hooks bleiben unberĂŒhrt, nur Templates werden post-rendered | Helm 3 Verhalten â Kustomize-Patches gegen reine Template-Ressourcen |
apiVersion: v2 (die groĂe Mehrheit der heutigen Charts) lassen sich weiterhin installieren und aktualisieren.Flux wird nun mit Helm v4 ausgeliefert, wobei sich zwei Dinge standardmĂ€Ăig Ă€ndern:
FĂŒr Teams, die das Verhalten von Helm v3 systemweit bevorzugen, stellt das UseHelm3Defaults Feature-Gate die vorherigen Standards wieder her â ein einziger Schalter statt eines mĂŒhsamen Prozesses pro Release.
Das gröĂte Quality-of-Life-Feature fĂŒr Helm-verwaltete CRDs: Flux 2.8 unterstĂŒtzt CEL-basierte Health-Check-AusdrĂŒcke in HelmReleases, was Ihnen die gleiche FlexibilitĂ€t bietet, die bereits in der Kustomization-API verfĂŒgbar ist.
apiVersion: helm.toolkit.fluxcd.io/v1
kind: HelmRelease
metadata:
name: keycloak
namespace: auth
spec:
interval: 5m
chart:
spec:
chart: keycloak
version: "26.x"
sourceRef:
kind: HelmRepository
name: codecentric
healthChecks:
- apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
name: keycloak
namespace: auth
timeout: 5m
expression: |
status.conditions.filter(c, c.type == 'Ready' && c.status == 'True').size() > 0
Der Ausdruck wird gegen den Status des Objekts ausgewertet. Das Release wird erst dann als "ready" markiert, wenn die Custom Resource Ready=True meldet â etwas, das die veraltete Readiness-Logik von Helm niemals verstehen konnte.
.status.inventory â ObservabilityHelmReleases verfolgen nun das Inventar der verwalteten Ressourcen in .status.inventory, was Operatoren volle Sichtbarkeit fĂŒr Debugging und Audits gibt. In Kombination mit den CEL Health-Checks können Sie allein ĂŒber die API beantworten: "Was verwaltet dieses Release tatsĂ€chlich und ist es gesund?", ohne in Secrets oder die Release-Historie eintauchen zu mĂŒssen.
Zwei kleinere Features runden das Release fĂŒr Pipeline-orientierte Teams ab:
Flux kann nun auch direkt Kommentare in Pull Requests ĂŒber Notifications hinterlassen, und GitHub App Installations-IDs werden automatisch vom Repository-Besitzer erkannt â kleine ergonomische Verbesserungen, die API-Token aus Ihrem Notification-Setup entfernen.
CancelHealthCheckOnNewRevisionFlux 2.8 fĂŒhrt das CancelHealthCheckOnNewRevision Feature-Gate sowohl fĂŒr Kustomizations als auch fĂŒr HelmReleases ein. Wenn mitten in einem Health-Check eine neue Revision eintrifft, bricht Flux den veralteten Check ab, anstatt ihn bis zum Ende laufen zu lassen. Bei einem fehlgeschlagenen Rollout, gefolgt von einem Fix-Commit, muss der Fix nicht mehr auf den Timeout der alten Revision warten â die Wiederherstellungszeit sinkt drastisch.
Flux 2.8 fĂŒgt die UnterstĂŒtzung fĂŒr Cosign v3 zur Verifizierung von OCI-Artefakten und Container-Images in OCIRepositories hinzu. Beachten Sie die Versionsfixierung: Flux fixiert cosign auf v2.6.1. Stellen Sie daher sicher, dass Ihre Signing-Tools Signaturen erzeugen, die von v2.6.1 validiert werden können.
helm template --validate fĂŒr jedes Chart, das Sie verwalten. Die meisten Charts funktionieren unverĂ€ndert; Probleme treten meist im Zusammenhang mit Post-Renderern oder Hooks auf.separate (oder nohooks fĂŒr exaktes Helm 3-Verhalten), anstatt gegen den combined Standard anzukĂ€mpfen.flux upgrade --install â die veralteten APIs aus 2024 erreichen in v2.8 ihr End-of-Life und werden aus den CRDs entfernt. Folgen Sie daher dem offiziellen Upgrade-Verfahren fĂŒr v2.7+.UseHelm3Defaults nur bei absoluter Notwendigkeit setzen. Das Gate existiert zwar, aber die Standardwerte (SSA + kstatus) sind besser â testen Sie dies auf einem Staging-Cluster, bevor Sie sich dagegen entscheiden.nohooks â dies entspricht exakt Helm 3.UseHelm3Defaults auf den betroffenen Controllern.kstatus beeinflusst bestehende Releases. Der Wechsel des Health-Checks gilt beim Upgrade fĂŒr alle HelmReleases, nicht nur fĂŒr neue. Wenn ein Release vom Legacy-Readiness-Verhalten von Helm abhĂ€ngig war â z. B. ein Job, der Erfolg ĂŒber eine Annotation statt ĂŒber Standard-Statusbedingungen meldet â wird es nun möglicherweise dauerhaft Progressing anzeigen. Suchen Sie vor dem Upgrade in Ihren Workloads nach nicht-standardmĂ€Ăigen Statusmustern und fĂŒgen Sie fĂŒr diese Releases im selben Schritt CEL Health-Checks hinzu.
Hooks + Kustomize ist die hĂ€ufigste Fehlerquelle. Die combined Post-Render-Strategie fĂŒhrt genau eine Fehlerklasse hervor: âmultiple objects with the same fully-qualified nameâ. Wenn Ihre Post-Render-Logs dies nach dem Upgrade zeigen, ist die Lösung separate und nicht der Kampf gegen den Hook-Stream.
Verifizieren, bevor Sie vertrauen. Die Cosign-Fixierung von Flux (v2.6.1) bedeutet, dass Signaturen, die von neueren cosign-Clients erstellt wurden, möglicherweise nicht verifiziert werden können. Signieren Sie in Ihrer Release-Pipeline mit einer kompatiblen Version neu, bevor Sie die OCIRepository Verifizierung aktivieren.