-
Notifications
You must be signed in to change notification settings - Fork 25
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
Feature Request: Add support for multiple listeners on Virtual Node and Virtual Router #120
Comments
Another use case is when you have applications metrics, health checks running on different port. There is no option to allow, whitelist or ignore TCP ingress port in App Mesh settings / ENV variables. Example deployment configuration
Is there any other way to solve it? |
Any further news on this? When using AppMesh we're having to comment out our containers:
- name: dummy-name
image: "dummy-repo/dummy-image"
ports:
- name: service
containerPort: 8080
protocol: TCP
- name: health
containerPort: 8081
protocol: TCP
# App Mesh doesn't support more than one listener as of today.
# Whenever it's supported we will use liveness and readiness
# probes.
# See: https://github.com/aws/aws-app-mesh-roadmap/issues/120
# livenessProbe:
# httpGet:
# path: /liveness
# port: 8081
# timeoutSeconds: 5
# readinessProbe:
# httpGet:
# path: /readiness
# port: 8081
# timeoutSeconds: 30 As a result, we're forced to blind deploy pods that expect to have these checks occur on a separate port. |
Is it possible to have |
This request make sense. Our case is that: a service provide http and grpc call for clients, when different clients use both protocol to access, it doesn't work. Such as ELB use http for health check, another client use grpc for business logic. |
Is there any more specific update on this issue other than |
Affects us as well: For spring apps, its normal to have service port eg. |
Some apps may expose multiple ports/services. This commit allows the configuration of multiple mesh services per app. The new `custom_container_services` variable is flexible enough to change the protocol of the mesh service too. Note that we have to use a work around where multipe virtual nodes/services are created per app since a virtual node can only have one listener. This missing feature is reported [here](aws/aws-app-mesh-roadmap#120)
Some apps may expose multiple ports/services. This commit allows the configuration of multiple mesh services per app. The new `custom_container_services` variable is flexible enough to change the protocol of the mesh service too. Note that we have to use a work around where multipe virtual nodes/services are created per app since a virtual node can only have one listener. This missing feature is reported [here](aws/aws-app-mesh-roadmap#120)
Some apps may expose multiple ports/services. This commit allows the configuration of multiple mesh services per app. The new `custom_container_services` variable is flexible enough to change the protocol of the mesh service too. Note that we have to use a work around where multipe virtual nodes/services are created per app since a virtual node can only have one listener. This missing feature is reported [here](aws/aws-app-mesh-roadmap#120)
Virtual Node listeners should support health check on different port like Target Group. Getting below error now:
|
I am also facing this issue where I am trying to add Cortex to App Mesh. The cortex |
…this time (#13550) This PR adds a note that at most one listener may be added to a Virtual Node until App Mesh team adds support for multiple listeners per aws/aws-app-mesh-roadmap#120 Closes #13549 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…this time (#13550) This PR adds a note that at most one listener may be added to a Virtual Node until App Mesh team adds support for multiple listeners per aws/aws-app-mesh-roadmap#120 Closes #13549 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
it looks as quite important feature, why its even not prioritized? :) |
@twanc might just be that the team is overwhelmed. I'm considering a migration to EKS and Istio because of this, it's almost a showstopper for me. |
@twanc – we've accepted the multi-listener support to our roadmap and prioritized it. I moved it to the "Researching" lane to better reflect the actual status of this project. |
…this time (aws#13550) This PR adds a note that at most one listener may be added to a Virtual Node until App Mesh team adds support for multiple listeners per aws/aws-app-mesh-roadmap#120 Closes aws#13549 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
any ETA on resolving the issue? |
We are working on multiple listeners for Virtual Gateways, Virtual Nodes and Virtual Routers. Usage will be pretty simple, users will be able to list more than one listener like so: Listeners:
- PortMapping:
Port: 80
Protocol: http
- PortMapping:
Port: 8080
Protocol: grpc If a user added a second listener to a Virtual Node that routes point to, it would be ambiguous which listener should receive the traffic. There are several cases like this so we are adding the # spec for a Route
HttpRoute:
Match:
Prefix: "/home"
Port: 80 # new port field to disambiguate which Virtual Router listener this route is receiving traffic from
Action:
WeightedTargets:
- VirtualNode: myVirtualNode
Weight: 1
Port: 80 # new port field to disambiguate which listener the route is pointing to # spec for a GatewayRoute
HttpRoute:
Match:
Prefix: "/home"
Port: 80 # new port field to disambiguate which Virtual Router listener this route is receiving traffic from
Action:
Target:
VirtualService:
VirtualServiceName: "example.com"
Port: 80 # new port field to disambiguate which listener the route is pointing to |
Multiple listeners are available in the preview channel: https://docs.aws.amazon.com/app-mesh/latest/userguide/multiple-listeners.html |
Hello, it's very cool to see this is in the preview channel! |
We are happy to announce that, today we released Multiple Listeners feature support. The feature is now generally available. Now, App Mesh users can create more than one listeners in Virtual Gateways, Virtual Nodes and Virtual Routes. Please take a look in AWS App Mesh adds support for multiple listeners. |
The issue at aws/aws-app-mesh-roadmap#120 is now completed, so I imagine multiple virtual node listeners is now possible.
Tell us about your request
What do you want us to build?
Today, virtual-node and virtual-router only allow single listener. Some applications have use-cases where they need to expose multiple ports and they cannot use App Mesh to support communication between these applications. Below are some sample applications
Which integration(s) is this request for?
None
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Are you currently working around this issue?
How are you currently solving this problem?
Today I have to run multiple versions of service per port exposed. This increases cost and management.
Additional context
Anything else we should know?
Attachments
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)
The text was updated successfully, but these errors were encountered: