Skip to content
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

Include protocol information in Service ports #888

Merged
merged 1 commit into from
Nov 10, 2021
Merged

Conversation

Zerpet
Copy link
Collaborator

@Zerpet Zerpet commented Nov 3, 2021

This closes #878

Note to reviewers: remember to look at the commits in this PR and consider if they can be squashed

Summary Of Changes

  • Added field appProtocol to Service Ports, to enable Istio protocol detection
  • FLAKE in integration test

Additional Context

By setting this field, we are able to take full advantage of all Istio traffic monitoring features and rich metrics, we must hint Istio what's the underlying protocol. Source
here
.

According to Kubernetes docs, protocol that are not registered in IANA registry as well-known ports, must use a suffix, like my.company.com/my-protocol. Surprisingly, STOMP does not have a well-known port assigned.

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

A system test for MQTT, STOMP and Streams may flake. That flake will be fixed by #872

Local Testing

Please ensure you run the unit, integration and system tests before approving the PR.

To run the unit and integration tests:

$ make unit-tests integration-tests

You will need to target a k8s cluster and have the operator deployed for running the system tests.

For example, for a Kubernetes context named dev-bunny:

$ kubectx dev-bunny
$ make destroy deploy-dev
# wait for operator to be deployed
$ make system-tests

By setting this field, we are able to take full advantage of all Istio
traffic monitoring features and rich metrics, we must hint Istio what's
the underlying protocol. [Source
here](https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/).

According to Kubernetes docs, protocol that are not registered in IANA
registry as well-known ports, must use a suffix, like
my.company.com/my-protocol. Surprisingly, STOMP does not have a
well-known port assigned.

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

Signed-off-by: Aitor Perez Cedres <[email protected]>
Copy link
Contributor

@ChunyiLyu ChunyiLyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

@Zerpet Zerpet merged commit c8f420d into main Nov 10, 2021
@Zerpet Zerpet deleted the appProtocolField-878 branch November 10, 2021 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants