-
Notifications
You must be signed in to change notification settings - Fork 24
Fixing port names for Istio service mesh auto config #756
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
base: main
Are you sure you want to change the base?
Conversation
|
Hey team, this change should be invisible, but it's probably worth mentioning in release notes, where do you recommend I mention this? Do you figure any additional testing is needed? |
|
I think the best place we have for notes about changes specific to deployment types are these old pages: https://sourcegraph.com/docs/admin/updates/kubernetes#notes-2 Pretty good testing imo, although I wouldn't mind if @keegancsmith laid eyes upon this change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please announce it somewhere. It could actually break if someone, but I think in practice that is so tiny that we should rather fix it like you are doing. Thanks!
| - name: unused | ||
| port: 10811 | ||
| targetPort: 10811 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes I think this is safe to remove. If I try to remember the historical context it was some sort of workaround for service discovery in kubernetes before statefulsets existed.
And just for fun, this number comes from me although I see other people added it. "10810" is an old south african programmer joke. When a south african reads it out loud it is "one ou ate one ou". An ou is slang for a guy. So its one guy eating another guy... enjoy your TIL for today.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love it, thank you for the TIL!
|
|
> It could actually break if someone, but I think in practice
> that is so tiny that we should rather fix it like you are
> doing.
@keegancsmith I think I'm missing something after "if someone,"
am I?
@marcleblanc2 if someone targetted the names / configured istio
(or something else) based on the names? I think that is possible
but unlikely / easy to fix for the admin.
|
Noted, thank you! Deep Search provided similar feedback, not likely, but some self-hosted customers may require manual intervention as part of their upgrade:
I'll include these in an update to https://sourcegraph.com/docs/admin/updates/kubernetes#notes-2 |
Customer was blocked on an issue with our Helm chart + Istio
It turns out that Istio uses the first part of a port name, and service definitions, to configure its service mesh sidecar proxy containers, based on the expected traffic type; docs: https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/#explicit-protocol-selection
The
http-prefix in the port name wasn't updated when we switched to grpcThere was an old
unusedport in the gitserver service definition, which I couldn't find any history for, it's been there for 7+ years, so I added gRPC port 3178 in its placeMaking these updates automagically fixes Istio issues, no longer requiring the Envoy patch in charts/sourcegraph/examples/envoy
Helpful background reading on Istio here https://istio.io/latest/docs/ops/deployment/architecture/
Checklist
This change should be invisible, but it's probably worth mentioning in release notes, where do you recommend I mention this?
Test plan
Developed with a customer, on their self-hosted instance with Istio
Tested on a k3s instance: