Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Istio support UDP protocol?

Tags:

udp

istio

Use case, need to loadbalance UDP:69 traffic between network devices and application which is running on k8s. Does Istio support UDP traffic loadbalancing?

like image 498
Sudhakar Ambati Avatar asked Aug 22 '18 10:08

Sudhakar Ambati


People also ask

Does Istio use gRPC?

Istio and its data plane proxy, Envoy, both support gRPC.

Is Istio an ingress controller?

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.

Is Istio a load balancer?

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.

How does Istio routing work?

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.


2 Answers

It seems that currently UDP is not supported

See issue

https://github.com/istio/istio/issues/1430

like image 106
kolchanov Avatar answered Sep 20 '22 16:09

kolchanov


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

like image 39
gavioto Avatar answered Sep 22 '22 16:09

gavioto