k8s: expose directly udp port (no http) using traefik

3/2/2020

I've just deployed graylog on my kubernetes cluster.

I need to be able to expose udp port as ingress rule, under graylog.localhost/gelf. Currently, my services are:

$ kubectl get service -o wide -l app.kubernetes.io/name=graylog
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE   SELECTOR
graylog-1583177737-master   ClusterIP   10.43.131.54    <none>        9000/TCP    20m   app.kubernetes.io/instance=graylog-1583177737,app.kubernetes.io/name=graylog,graylog-role=master
graylog-1583177737-web      ClusterIP   10.43.141.128   <none>        9000/TCP    20m   app.kubernetes.io/instance=graylog-1583177737,app.kubernetes.io/name=graylog
graylog-1583177737-udp      ClusterIP   10.43.188.69    <none>        12201/UDP   20m   app.kubernetes.io/instance=graylog-1583177737,app.kubernetes.io/name=graylog

My service graylog-1583177737-udp is as below:

$ kubectl describe service graylog-1583177737-udp
Name:              graylog-1583177737-udp
Namespace:         graylog
Labels:            app.kubernetes.io/component=UDP
                   app.kubernetes.io/instance=graylog-1583177737
                   app.kubernetes.io/managed-by=Helm
                   app.kubernetes.io/name=graylog
                   app.kubernetes.io/version=3.1
                   helm.sh/chart=graylog-1.5.2
Annotations:       <none>
Selector:          app.kubernetes.io/instance=graylog-1583177737,app.kubernetes.io/name=graylog
Type:              ClusterIP
IP:                10.43.188.69
Port:              gelf  12201/UDP
TargetPort:        12201/UDP
Endpoints:         10.42.0.48:12201,10.42.1.47:12201
Session Affinity:  None
Events:            <none>

My ingress controller is traefik.

-- Jordi
graylog2
kubernetes
traefik-ingress

1 Answer

3/6/2020

Please correct me if I am wrong but it will be possible with new version of traefik 2.2.

The UDP support as described on Github traefik's project page: Github.com: traefik project site will be available in the version 2.2 which is now a release candidate.

On the time of writing this, the current newest downloadable version of traefik from docker image repository is version 2.1.6.

Please have a look at:

Please let me know if you have any questions on that.

-- Dawid Kruk
Source: StackOverflow