-
Notifications
You must be signed in to change notification settings - Fork 370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Antrea based traffic redirection in Istio CNI plugin when using Ambient mode #5682
Comments
Given that the ztunnel Pod runs as a regular Pod (not hostNetwork), it should be pretty easy for us to redirect mesh traffic to it directly in OVS. It would be great if we could use
Adding @tnqn who is the TrafficControl expert. Some useful links: |
@tschwaller @antoninbas I have tried Istio Ambient mode with Antrea and managed to make them work together, with a number of workarounds. Here are my findings: For initialization, I found the current implementation of Ambient mode has an assumption on Pod network's implementation: It assumes the Pod is connected to host network via veth and there is a route entry for the Pod IP, which will be used to identify the ztunnel's veth and then the network namespace of ztunnel Pod. As Antrea doesn't have such per Pod route in host network, the Then I tried to use The second attemp is to use
ztunnel on client side:
ztunnel on server side:
So I think redirecting traffic to ztunnel without encapsulation is promising. It should be simpler and more efficient. To make the whole workflow work automatically, changes are needed on both Istio and Antrea side, but there should be generic ways to make these changes. |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days. You can add a label "lifecycle/frozen" to skip stale checking. |
The new Istio Ambient mode redirects L4 traffic to the ztunnel pods on the nodes using
The ztunnel pod handles mTLS connections to ztunnel pods on other nodes. You can also configure simple firewall rules
using Istio
AuhorizationPolicies
. The traffic redirection is using the Istio CNI plugin in CNI chaining mode.The traffic redirection should be possible and more efficient with the Antrea
TrafficControl
CRD (instead of iptables and Geneve tunnels) but needs further analysis from the Antrea team.The suggestion is to contribute a new Antrea redirection mode in the Istio CNI plugin or to work with the Istio Ambient team to have a mode which does not need the Istio CNI plugin at all in an Antrea context (which would then not support the (legacy) sidecar based approach which the Istio CNI plugin also handles but only the new Ambient mode).
One should also keep in mind that before the traffic reaches the ztunnel pod it might have to be analyzed by the Suricata engine on the node if this feature is used together with Antrea (pod -> Suricata -> ztunnel -> ...).
The Istio L4
AuthorizationPolicies
might also be enhanced using Antrea (Cluster ) Network Policies or the newAdminNetworkPolicies
, but this needs further analysis.Last but not least one has to consider some overlap with the Antrea Multi-Cluster implementation which is using a very similar architecture with the Multi-Cluster Gateway Pods (but without mTLS). This looks more like an upstream discussion about which specification/project handles which layer in the networking stack.
The text was updated successfully, but these errors were encountered: