Zwei Komponenten teilen sich die Arbeit eines Sidecars
Eine Policy, die im Review harmlos aussah, kappt in Ambient Verbindungen, die sie erlauben sollte. Der Grund liegt eine Schicht tiefer.
- Datum
- Thema
- Ambient
- Quellen
- 4
- Lesezeit
- 2 Min.
Ein Sidecar erledigt alles in einem Container: mTLS, Routing, Policies, Telemetrie. Ambient zerlegt dieses Paket in zwei Teile, an zwei Orten.
Abbildung als Text
Datenpfad in Ambient über zwei Nodes: Pods enthalten nur die App, kein Proxy im Pod; auf jeder Node läuft ztunnel (eigener Rust-Proxy, kein Envoy) für L4, also mTLS, Identität und TCP-Weiterleitung, immer. Daneben der Waypoint, ein Envoy, der nur dort zwischengeschaltet wird, wo L7 gebraucht wird: HTTP-Routing, L7-Policy, L7-Telemetrie. Unten zwei Kästen: Die Denkgrenze verläuft zwischen L4 und L7, die Pod-Grenze ist in Ambient der falsche Kompass; im Waypoint gelten die vier Fragen aus Post 12 (Listener, Route, Cluster, Endpoint). Pointe: Eine L7-Policy ohne Waypoint sperrt im Zweifel auch die, die sie durchlassen sollte.
Teil eins heißt ztunnel und läuft einmal pro Node. Er übernimmt die L4-Schicht: mTLS zwischen Workloads, die Identität, die TCP-Weiterleitung. Und er ist kein Envoy. ztunnel ist ein eigener, in Rust geschriebener Proxy, bewusst schmal gehalten, weil er auf jeder Node für alle Pods läuft. Die Matrix aus Post 11 führte ihn schon als eigene Engine.
Teil zwei ist der Waypoint. Der ist ein Envoy, und er wird nur dort zwischengeschaltet, wo ein Workload wirklich L7 braucht: HTTP-Routing, AuthorizationPolicies auf Methoden und Pfaden, L7-Telemetrie. Kein L7-Bedarf, kein Waypoint, kein Envoy dazwischen.
Und hier liegt die Falle aus dem ersten Absatz. Eine AuthorizationPolicy mit L7-Regeln, also Methoden oder Pfaden, landet ohne Waypoint beim ztunnel, und der kann L7 nicht auswerten. Istio macht daraus eine DENY-Policy: Die Verbindung bricht ab, auch für Clients mit der richtigen Identität. Im Review sah die Regel harmlos aus, weil der Reviewer in Pod-Grenzen gedacht hat. Die Denkgrenze verläuft in Ambient zwischen L4 und L7. Die Pod-Grenze, an der Sidecar-Teams jahrelang gedacht haben, ist dafür der falsche Kompass.
Wer Post 12 gelesen hat, kennt den Waypoint schon: Listener, Route, Cluster, Endpoint, derselbe Motor, dasselbe Debugging. Envoy-Wissen zieht auch hierhin einfach mit um.
Für die Rechnung heißt das: Ihr bezahlt L7 nur noch dort, wo ihr L7 braucht. Dafür muss jemand sauber beantworten können, welche Workloads das sind und welche Policies L7-Regeln tragen. Diese Inventur ist die eigentliche Ambient-Hausaufgabe, Architekturarbeit statt Label-Umkleben.
Eine L7-Policy ohne Waypoint sperrt im Zweifel auch die, die sie durchlassen sollte.
Nächste Woche folgt die Einschätzung, auf die dieser Bogen zuläuft: warum ich für harte Enterprise-Anforderungen trotzdem noch bei Sidecars bleibe.