Management-Plane
Rancher Server: Multi-Cluster-Management, via Helm auf einem eigenen lokalen Cluster (RKE2/K3s) deployt. HA: 3 Replicas, zustandslos, State liegt im etcd des lokalen Clusters, nicht im Pod.
local: der Cluster, auf dem Rancher
selbst läuft. Downstream: die verwalteten
Cluster (imported/provisioned).
Expose (Helm-Values, seit 2.14):
networkExposure.type: ingress,
gateway oder none. gateway
legt Gateway + HTTPRoute an
(gateway.gatewayClass.name, Default
traefik).
ingress.includeDefaultExtraAnnotations ist
abgekündigt und steht per Default auf false: wer
ingress-nginx behält (upstream seit 03/2026 ohne Fixes), setzt die Timeouts für Shell und Logs
(proxy-read/send-timeout 1800) selbst. RKE2 bringt ab
1.36 Traefik als Default-Ingress, ingress-nginx ist dort
abgekündigt. Für gateway in RKE2 die Gateway API
in rke2-traefik einschalten (HelmChartConfig,
providers.kubernetesGateway.enabled: true).
Agents im Downstream
cattle-cluster-agent (Deployment,
cattle-system): öffnet den Tunnel
ausgehend zu Rancher (remotedialer/websocket). Rancher
braucht keinen Inbound-Zugang zum Downstream,
kubectl, Metrics, Health laufen durch diesen Tunnel zurück.
rancher-system-agent
(systemd-Dienst auf jedem Node Rancher-provisionierter
RKE2/K3s-Cluster): führt Plans aus, z. B. K8s-Upgrade,
etcd-Snapshot und -Restore. cattle-node-agent gab es
nur für RKE1 und fehlt seit 2.12.
API-Frameworks
Norman, legacy v3-API
(management.cattle.io, /v3): Cluster, User,
Project, RoleTemplate.
Steve, generischer K8s-Proxy
(/v1), treibt Cluster Explorer/Dashboard, spricht jede
CRD durch.
Ext-API (ext.cattle.io/v1, seit
2.12): eigener Extension-API-Server für Token und Kubeconfig,
seit 2.13 auch SelfUser und PasswordChangeRequest. Deshalb braucht
der local-Cluster den API Aggregation Layer.
Downstream-Zugriff wird über
/k8s/clusters/<id> authentifiziert geproxyt.