My dockerized service (webrtc server) uses both TCP and UDP transport protocols. I'm working with Azure Kubernetes service. As you know we cannot create LoadBalancer service in Kubernetes with both TCP and UDP proto (more info here)
Also, I've tried to create two services:
- one for TCP ports
- one for UDP
bind them with one public IP, but gets: "Ensuring load balancer" message.
The only solution is to use NodePort, but in Azure its not working for me (connection timeout).
Here my service yaml:
apiVersion: v1
kind: Service
metadata:
name: mcu
spec:
selector:
app: mcu
ports:
- name: mcu
nodePort: 30000
port: 8080
protocol: TCP
- name: webrtc
nodePort: 30003
port: 10000
protocol: UDP
type: NodePort
externalIPs:
- <ext IP>
type: LoadBalancer
and for UDP - same, but withloadBalancerIP: <ext IP of TCP service>
– Tim Bikbaev