<p>We want to run a Wowza streaming engine among other containers in our Kubernetes cluster on Azure Kubernetes Service (AKS). Wowza uses various ports, some with TCP, some with UDP protocol.</p>
<p>We need to expose these ports to the outside world. We can't seem to find a way to set up a load balancer that can forward both TCP and UDP ports.</p>
<p>A LoadBalancer service does not support mixed protocols until an upcoming version of K8s, and it will be even longer until this version is available in AKS: <a href="https://github.com/kubernetes/enhancements/issues/1435" rel="nofollow noreferrer">link</a></p>
<p>We have tried using nginx-ingress, but it has the same limitation due to the underlying K8s limitation: see comment from author <a href="https://github.com/kubernetes/ingress-nginx/issues/6573" rel="nofollow noreferrer">here</a></p>
<p>It would seem like citrix-ingress allows this according to its documentation, but we have a lot of problems making it work at all...</p>
<p>Is there any way to do this that we may have missed? Want to make sure we are not missing something obvious.</p>

Vilius Kazakauskas
<p>This is a community wiki answer posted for better visibility. Feel free to edit it when the final solution would be available (k8s v1.20 on AKS).</p>
<p>There is an open enhancement: <a href="https://github.com/kubernetes/enhancements/issues/1435" rel="nofollow noreferrer">Support of mixed protocols in Services with type=LoadBalancer #1435</a> which when implemented will enable the creation of a <code>LoadBalancer</code> Service that has different port definitions with different protocols. The stable release is planned for k8s v1.20.</p>
<p>Unfortunately, it is not possible to use both TCP and UDP ports with <code>LoadBalancer</code> Service currently. It would be however when the above solution is in place.</p>
