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
Ambient: should use istio.io/dataplane-mode=ambient
for enrolling individual pods
#50355
Comments
(if we do not think this belongs as an ambient beta blocker, can remove, but as it concerns UX, I think it might should be) |
Hi @bleggett, I'd like to work on this issue. Thoughts/questions after an initial read-through:
Does this sound reasonable? Anything I might be missing here? |
Yep.
We should not need to change that - the CNI logic should add the annotation automatically, as a side effect of getting triggered to enroll the pod via the label. The label is intent, the annotation is status, and |
@eoinfennessy happy to have you work on it, ping me if/when you open a PR and I will assign this issue to you, and feel free to reach out if you have questions! |
@bleggett, thank you! I should have a PR for this before the week is out. |
Describe the feature request
Right now, adding the annotation
ambient.istio.io/redirection: enabled
to an individual pod implicitly enrolls that pod into ambient. This annotation is added byistio-cni
to indicate it has already enrolled a pod, and is not really intended to be user-applied.Adding the label
istio.io/dataplane-mode=ambient
to namespaces enrolls everything in the namespace.This is a bit backwards and unintuitive, and sort of an unintended side effect - the
ambient.istio.io/redirection: enabled
annotation should not add or remove pods from ambient or munged by users at all, it is largely intended to be a status managed only byistio-cni
, not a mechanism of user intent.We should update the
istio-cni
logic to check for the labelistio.io/dataplane-mode=ambient
on both namespaces and individual workloads, for the sake of consistency, and if that label is found in either spot, that pod should be enrolled byistio-cni
and get the annotationambient.istio.io/redirection: enabled
Alternatively (implementer's choice/others can make cases) we can make both be labels, as described in the "alternatives" section - either would be fine, we just need to be consistent, and have one field for intent, and one field for status.
Describe alternatives you've considered
Make the
ambient.istio.io/redirection: enabled
annotation a label instead (both of them labels).Make the
istio.io/dataplane-mode=ambient
label an annotation instead (both of them annotations)Affected product area (please put an X in all that apply)
[x] Ambient
[x] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context
https://istio.slack.com/archives/C049TCZMPCP/p1712672952578429
The text was updated successfully, but these errors were encountered: