After looking at the links you provided, it looks like Kubernetes does support multiple protocols on the same ports, it's just the apply command that is broken. I did encounter this issue, so I just tried again doing a full uninstall and reinstall of both traefik and mumble as suggested in the blog post and I can now get UDP packets sent! Unfortunately, I only receive 1 back and people in the same channel won't hear me talk (nor see my icon "talking").
Any way of troubleshooting this? The access logs in traefik don't seem to include UDP. I also enabled Jaeger tracing to see what I could find, but it also doesn't seem to include TCP/UDP traffic
Is is possible Traefik is not forwarding UDP packets from the server to the client?
I enabled the debug logs and I do see the connections, but since both TCP and UDP are on the same port, it's impossible to know which is actually being used...I don't see any obvious errors, but it's hard to filter out the logs since it doesn't even mention the entrypoint name...I feel like there are quite some improvements possible on the logging and tracing side in Traefik
Here is what it looks like (you can ignore the lines relating to mattermost):
time="2023-01-25T22:25:15Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:20Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:24Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:24Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2307eb229c7105c4:4eaf8e43622eb69f:2307eb229c7105c4:1" tracingProviderName=jaeger
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2307eb229c7105c4:2307eb229c7105c4:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2cee6f7ea8bef93c:741fe1b004b33922:2cee6f7ea8bef93c:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:24 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 775 "ping@internal" "-" 1ms
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2cee6f7ea8bef93c:2cee6f7ea8bef93c:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:24 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 776 "ping@internal" "-" 0ms
time="2023-01-25T22:25:25Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:27Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:27Z" level=debug msg="Reporting span 3ec3fd8e1baa84b5:6a067a9c2028f069:3ec3fd8e1baa84b5:1" tracingProviderName=jaeger
time="2023-01-25T22:25:27Z" level=debug msg="Reporting span 3ec3fd8e1baa84b5:3ec3fd8e1baa84b5:0000000000000000:1" tracingProviderName=jaeger
134.238.148.179 - - [25/Jan/2023:22:25:27 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 577 "-" "-" 777 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 7ms
time="2023-01-25T22:25:30Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:32Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:32Z" level=debug msg="Reporting span 116175a47b817b46:572148fc30813731:116175a47b817b46:1" tracingProviderName=jaeger
time="2023-01-25T22:25:32Z" level=debug msg="Reporting span 116175a47b817b46:116175a47b817b46:0000000000000000:1" tracingProviderName=jaeger
147.253.128.6 - - [25/Jan/2023:22:25:32 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 693 "-" "-" 778 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 7ms
time="2023-01-25T22:25:34Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:34Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 0acf1f16e4079347:76abf63537395e07:0acf1f16e4079347:1" tracingProviderName=jaeger
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 7d45ef61571186cb:6af24dfb06eff611:7d45ef61571186cb:1" tracingProviderName=jaeger
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 0acf1f16e4079347:0acf1f16e4079347:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:34 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 779 "ping@internal" "-" 2ms
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 7d45ef61571186cb:7d45ef61571186cb:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:34 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 780 "ping@internal" "-" 3ms
time="2023-01-25T22:25:35Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:40Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:41Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:41Z" level=debug msg="Reporting span 66df0defbf0eac5d:52d1c012e93f5fd5:66df0defbf0eac5d:1" tracingProviderName=jaeger
time="2023-01-25T22:25:41Z" level=debug msg="Reporting span 66df0defbf0eac5d:66df0defbf0eac5d:0000000000000000:1" tracingProviderName=jaeger
192.222.150.248 - - [25/Jan/2023:22:25:41 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 469 "-" "-" 781 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 5ms
time="2023-01-25T22:25:44Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:44Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6305684a7dc097a0:37fb4022e93b4f43:6305684a7dc097a0:1" tracingProviderName=jaeger
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6305684a7dc097a0:6305684a7dc097a0:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6c8bf3e797542214:69d09942ae6e0c28:6c8bf3e797542214:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:44 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 783 "ping@internal" "-" 0ms
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6c8bf3e797542214:6c8bf3e797542214:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:44 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 782 "ping@internal" "-" 0ms
time="2023-01-25T22:25:45Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:47Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:47Z" level=debug msg="Reporting span 4e7ebe45c2a8c89a:1f38d34e35f1daa5:4e7ebe45c2a8c89a:1" tracingProviderName=jaeger
time="2023-01-25T22:25:47Z" level=debug msg="Reporting span 4e7ebe45c2a8c89a:4e7ebe45c2a8c89a:0000000000000000:1" tracingProviderName=jaeger
198.16.145.131 - - [25/Jan/2023:22:25:47 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 551 "-" "-" 784 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 6ms
time="2023-01-25T22:25:48Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 3389342f996b0cbb:6912594c6762fe8e:3389342f996b0cbb:1" tracingProviderName=jaeger
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 3389342f996b0cbb:3389342f996b0cbb:0000000000000000:1" tracingProviderName=jaeger
192.168.1.164 - - [25/Jan/2023:22:25:48 +0000] "OPTIONS /api/v4/users/status/ids HTTP/2.0" 404 261 "-" "-" 785 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:25:48Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 0af59f62b7e22ac5:7b206dadb3d2f040:0af59f62b7e22ac5:1" tracingProviderName=jaeger
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 0af59f62b7e22ac5:0af59f62b7e22ac5:0000000000000000:1" tracingProviderName=jaeger
192.168.1.164 - - [25/Jan/2023:22:25:48 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 464 "-" "-" 786 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 3ms
time="2023-01-25T22:25:50Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:54Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:54Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 760692fae01b28e6:710b7644c0a3a374:760692fae01b28e6:1" tracingProviderName=jaeger
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 760692fae01b28e6:760692fae01b28e6:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:54 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 787 "ping@internal" "-" 1ms
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 6f47c402e4895a69:7b6fde0fc9b06d80:6f47c402e4895a69:1" tracingProviderName=jaeger
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 6f47c402e4895a69:6f47c402e4895a69:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:54 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 788 "ping@internal" "-" 1ms
time="2023-01-25T22:25:55Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:00Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:02Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:02Z" level=debug msg="Reporting span 629dfca96515038a:2f70282e214841f5:629dfca96515038a:1" tracingProviderName=jaeger
time="2023-01-25T22:26:02Z" level=debug msg="Reporting span 629dfca96515038a:629dfca96515038a:0000000000000000:1" tracingProviderName=jaeger
198.16.166.156 - - [25/Jan/2023:22:26:02 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 577 "-" "-" 789 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 8ms
time="2023-01-25T22:26:04Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:04Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 2f87d8883eeca024:1f7f75732c636b95:2f87d8883eeca024:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 25dfa4940ef70313:53ffa9111ce20f5d:25dfa4940ef70313:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 25dfa4940ef70313:25dfa4940ef70313:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 2f87d8883eeca024:2f87d8883eeca024:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:26:04 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 790 "ping@internal" "-" 1ms
10.42.0.1 - - [25/Jan/2023:22:26:04 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 791 "ping@internal" "-" 1ms
time="2023-01-25T22:26:05Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:06Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:06Z" level=debug msg="Reporting span 50ddbf692fb9debd:3d5f7b9c026f5b96:50ddbf692fb9debd:1" tracingProviderName=jaeger
time="2023-01-25T22:26:06Z" level=debug msg="Reporting span 50ddbf692fb9debd:50ddbf692fb9debd:0000000000000000:1" tracingProviderName=jaeger
192.168.1.12 - - [25/Jan/2023:22:26:06 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 1232 "-" "-" 792 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:26:08Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 6cc527520d582457:19d3e11104729b78:6cc527520d582457:1" tracingProviderName=jaeger
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 6cc527520d582457:6cc527520d582457:0000000000000000:1" tracingProviderName=jaeger
209.15.185.46 - - [25/Jan/2023:22:26:08 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 634 "-" "-" 793 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 10ms
time="2023-01-25T22:26:08Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 5435b483b179a6a0:0ef7d85b8bac6aa9:5435b483b179a6a0:1" tracingProviderName=jaeger
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 5435b483b179a6a0:5435b483b179a6a0:0000000000000000:1" tracingProviderName=jaeger
134.238.145.166 - - [25/Jan/2023:22:26:08 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 722 "-" "-" 794 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 6ms
time="2023-01-25T22:26:09Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:09Z" level=debug msg="Reporting span 1ead256d94236482:0af59d6b83d1c7c7:1ead256d94236482:1" tracingProviderName=jaeger
time="2023-01-25T22:26:09Z" level=debug msg="Reporting span 1ead256d94236482:1ead256d94236482:0000000000000000:1" tracingProviderName=jaeger
205.193.218.61 - - [25/Jan/2023:22:26:09 +0000] "POST /api/v4/users/status/ids HTTP/1.1" 200 543 "-" "-" 795 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:26:10Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:10Z" level=debug msg="Reporting span 20a6d0c21cfecea4:36c45ab62fc551ae:20a6d0c21cfecea4:1" tracingProviderName=jaeger
time="2023-01-25T22:26:10Z" level=debug msg="Reporting span 20a6d0c21cfecea4:20a6d0c21cfecea4:0000000000000000:1" tracingProviderName=jaeger
74.56.143.149 - - [25/Jan/2023:22:26:10 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 664 "-" "-" 796 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 13ms
time="2023-01-25T22:26:10Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
We can see multiple entries mentioning "Handling connection from...to...". My guess is these are all TCP connections.
I'm also getting the following:
traefik-bqg8q time="2023-01-25T22:24:01Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
I guess that's when it tries to send traces to Jaeger, but fails since it's a TCP/UDP entrypoint rather than a typical HTTP entrypoint and it's not yet supported?
I enabled the debug logs and I do see the connections, but since both TCP and UDP are on the same port, it's impossible to know which is actually being used...I don't see any obvious errors, but it's hard to filter out the logs since it doesn't even mention the entrypoint name...I feel like there are quite some improvements possible on the logging and tracing side in Traefik
Indeed, for debug logs within the TCP and the UDP proxy, there are no differences.
Thus, for errors, the wording should be different and should help to distinguish if the error happened with TCP or UDP.
Nonetheless, the extract of the logs you shared is not showing any error.
We can see multiple entries mentioning "Handling connection from...to...". My guess is these are all TCP connections.
Well, no, it could be UDP too.
I'm also getting the following:
traefik-bqg8q time="2023-01-25T22:24:01Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
This could be ignored here. Tracing is only for HTTP.
I guess that's when it tries to send traces to Jaeger, but fails since it's a TCP/UDP entrypoint rather than a typical HTTP entrypoint and it's not yet supported?
Today, there are no access logs or tracing for TCP/UDP, so indeed this is not helping in your situation.
I agree, but the data I have from my mumble client points to it being TCP
FYI, we addressed the missing information in the logs for the UDP and TCP proxy: Differentiate UDP stream and TCP connection in logs by rtribotte · Pull Request #9687 · traefik/traefik · GitHub.
Thanks for reporting this
Thanks!! Really good news! I will update as soon as it is released so we can get more insight.