Rancher Cheatsheet

Rancher CheatsheetKapitel 05 von 10

Rancher Fleet (GitOps)

Stand Rancher 2.15 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

Fleet-Modell

Continuous Delivery über viele Cluster, mit Rancher gebündelt (Fleet 0.16, cattle-fleet-system). Manager auf local, Agents im Downstream, auch einer auf local (Agent in cattle-fleet-local-system, Cluster-Objekt local in fleet-local).

GitRepo (fleet.cattle.io) → rendert Bundles → BundleDeployment je Ziel-Cluster. Targeting per clusterSelector/clusterGroup.

HelmOp (seit 2.12 per Default aktiv) rollt Helm-Charts direkt aus einem Helm-/OCI-Repo aus, ohne Git, mit SemVer-Constraint und Polling.

apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata: {name: platform, namespace: fleet-default}
spec:
  repo: https://git.example.com/platform
  branch: main
  paths: [infra/, apps/]
  targets:
  - name: prod
    clusterSelector:
      matchLabels: {env: prod}

Targeting-Regeln

Labels auf dem Fleet-Cluster-Objekt treiben die Auswahl. Ohne targets greift clusterGroup: default. Ab Werk legt Fleet diese Gruppe nur in fleet-local an (enthält local). In fleet-default rollt ohne eigene Gruppe default nichts aus. fleet.yaml im Repo steuert Overlays, Helm-Values und dependsOn zwischen Bundles.

Multi-Tenancy: GitRepoRestriction ist abgekündigt, Ersatz ist Policy (fleet.cattle.io). Git-Webhooks immer mit webhookSecret: Fleet kündigt das Ende unauthentifizierter Webhook-Aufrufe an, seit 2.15.2 (CVE-2026-93539) wirken Spec-Änderungen per Webhook nur noch mit Secret.

Seit 2.15.3 (Fleet 0.16.3): Ein Cluster, der ein kubeconfig-Secret aus einem anderen Namespace nutzt, braucht am Secret das Label fleet.cattle.io/kubeconfig-referenceable-from=<Cluster-Namespace> (für seine eigenen Secrets setzt Rancher es selbst; Fix der kritischen CVE-2026-94290). Agent-initiiert registrierte Cluster bleiben an ihr Fleet-Registration-Token gebunden, ein Wechsel braucht die Annotation fleet.cattle.io/registered-token mit dem neuen Token-Namen (Fix von CVE-2026-104615).