istio.io
istio.io copied to clipboard
clarify unmentioned constraint port.name equalness (cherry-pick #11680)
Please provide a description for what this PR is for.
cherry-pick #11680
In our multi cluster mesh, we found that, even we meet the namespace-sameness
, cross cluster calls to remote cluster through eastwest gateway never happen in some cases. (calls always invoke to primary cluster)
After some digging, we found that the same
kubernetes Service
had different port.name
, and the code that aggregating eds reads the port.name to match endpoint with service.
And if we correct the Service.spec.ports[_].name
to be same as what in primary cluster (literally equal, both name no specified consider equal "" == "" ), cross cluster calls act as expect.
So as namespace-sameness
, the addition constraint should be documented.
https://github.com/istio/istio/blob/93e4ec424b52da807228bd7784c59d646ec73733/pilot/pkg/xds/endpoint_builder.go#L240-L242
for _, ep := range endpoints {
// TODO(nmittler): Consider merging discoverability policy with cluster-local
if !ep.IsDiscoverableFromProxy(b.proxy) {
continue
}
if svcPort.Name != ep.ServicePortName {
continue
}
And to help us figure out who should review this PR, please put an X in all the areas that this PR affects.
- [ ] Configuration Infrastructure
- [x] Docs
- [x] Installation
- [x] Networking
- [ ] Performance and Scalability
- [ ] Policies and Telemetry
- [ ] Security
- [ ] Test and Release
- [ ] User Experience
- [ ] Developer Infrastructure
Hi @tedli. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test
on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test
label.
I understand the commands that are listed here.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/ok-to-test
~~Although again, the automated cherry-pick in #11680 should create this PR which will be approved for merged.~~
~~#11680 really needs to be approved and merged which will do the other releases automatically.~~
If we don't want to push #11680, then let's merge this and cherry-pick to 1.15 (already labelled). Since @craigbox had the latest review, I'll leave this for him to approve.
@craigbox Any further comments on this PR?