-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Configurable Service Port Names #5595
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
Conversation
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.
As much as I'd like to support the new Istio version, adding new CRs setting to allow that and maintain backward compatibility seems overkill as it complexities the CR.
Is there a way we can detect Istio internally and change the service name accordingly maybe?
Thank you for your review. I will make the specified changes to the variables. Also, this is how I would get the istio version with kubectl. But I am unclear on where this should be executed by the ceph operator. Can you please point me in the right direction? Seems like an easy fix to conditionally set the variable if istio is detected. Is this what you had in mind? |
I would even go a step further and say there is no need for these names in the CR or to change them if istio is installed. It should be fine just to follow the istio convention. Nothing should really rely on these names. Although it does seem like an odd requirement that the Besides adding the |
I don't really understand why istio/kiali rely on the port name prefix either, but they sure do complain/not work when they are not set "correctly". Can I trash all of this variable nonsense and just prefix each of these with their protocols and be done with it? Follow on question, if yes, is should they be http or tcp? |
Sounds good to revert the variable changes.
I understood from the istio doc that tcp will be the default protocol if they don't understand it. So the mon ports don't need to change and we just need the http port on the other one, right? |
@travisn |
In this doc, I was interpreting that the
|
Yes, without a prefix, kiali displays the service as unhealthy and communication between services becomes disrupted. |
sounds like my next stop is going to be with the istio docs.... |
Ok sounds good to add the tcp prefix in that case |
LGTM, just please squash the commits before we merge. |
I squashed but it's still showing 3 commits, did I do something wrong? |
This pull request has merge conflicts that must be resolved before it can be merged. @afflom please rebase it. https://rook.io/docs/rook/master/development-flow.html#updating-your-fork |
When integrating rook with istio, service port names need to be prefixed by their protocol. Trying to fix this by removing static port names in favor of configurable names. Closes: #5587 add protocol prefix to service port names, hardcoded as discussed. renamed container ports Signed-off-by: Alex Flom <alexander.flom@gmail.com>
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.
The squashed commit and message look good!
Thank you! Do I owe anymore work on this? |
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.
Wait I think we forgot the CephObjectStore service too. Please update it
@leseb Great catch! Looking at https://github.com/afflom/rook/blob/9a4d535f09c08a39470bdcc3b3bb37ee2e053d65/pkg/operator/ceph/object/spec.go#L213 The port names set in generateService are compatible with istio naming conventions (as per https://github.com/kiali/kiali/blob/a5a1dcd7948796725eea5314b57af61ed002ab43/kubernetes/istio_details_service_test.go#L45). Do I need to change the port name anywhere else?
|
Thanks for checking, no it's fine keep them as is. |
Thank you so much! |
Configurable Service Port Names (bp #5595)
Description of your changes:
Trying to integrate rook-ceph with istio, but getting service port name errors as referenced here: https://kiali.io/documentation/validations/#_kia0601_port_name_must_follow_protocol_suffix_form
Understanding that istio isn't the only game in town, I think that it would be best to make the port name configurable at cluster creation.
Not sure what all needs to be changed in the source, but here are my starting edits. Assistance would be appreciated.
Which issue is resolved by this Pull Request:
Resolves #5587
Checklist:
make codegen
) has been run to update object specifications, if necessary.[test ceph]