Use case, need to loadbalance UDP:69 traffic between network devices and application which is running on k8s. Does Istio support UDP traffic loadbalancing?
Istio and its data plane proxy, Envoy, both support gRPC.
This task describes how to configure Istio to expose a service outside of the service mesh cluster. In a Kubernetes environment, the Kubernetes Ingress Resources allows users to specify services that should be exposed outside the cluster.
By default, Istio uses a round-robin load balancing policy, where each service instance in the instance pool gets a request in turn. Istio also supports the following models, which you can specify in destination rules for requests to a particular service or service subset.
Istio's traffic routing functionalities are based on the Envoy sidecar proxies that build up the data plane of the service mesh. The configuration of these proxies determine the route of a packet. The idea that all traffic flow through the Envoys enables direct control of routing without changing any application code.
It seems that currently UDP is not supported
See issue
https://github.com/istio/istio/issues/1430
Istio 1.3.3+ has support for UDP.
At the time being, information is confused because in the FAQ the information is wrong.
WHAT PROTOCOLS DOES ISTIO SUPPORT? Currently, Istio supports TCP based protocols. In additional to this, Istio provides additional functionality, such as routing and metrics, from other protocols such as http and mysql. Currently, UDP traffic is not supported.
But there is a page with correct information.
The following protocols are supported:
- grpc
- http
- http2
- https
- mongo
- mysql*
- redis*
- tcp
- tls
- udp
*These protocols are disabled by default to avoid accidentally enabling experimental features. To enable them, Pilot environment variables must be configured
Complete list of supported protocols are in this page
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With