Support for simultaneous TCP & HTTP Canary deployments in Istio
Raven6681 opened this issue · 3 comments
Describe the feature
Currently (after implementing this: #1556), there are 2 options. Either use a HTTP port for the canary or a TCP port. Can't use both at the same time.
It would be great if flagger could support both at the same time (VirtualServices and DestinationRules in order to control traffic for both HTTP and TCP ports).
What problem are you trying to solve?
Create canaries for applications which expose 2 ports, one HTTP and one TCP.
Are you trying to publish using multiple ports? Perhaps you can refer to this document
@LiZhenCheng9527 what you suggest (using portDiscovery: true
) will include the discovered ports into the Service resources but it will not create a VirtualService with multiple ports (and protocols). Thus, The Canary will only handle the traffic of the one port defined in the spec.service
What I need is, the ability to declare 2 ports in the service with different protocols (http and tcp) thus creating a VirtualService with both spec.http
and spec.tcp
which will route the traffic to the respective DestinationRules.