当前位置: 首页 > 知识库问答 >
问题:

k8s:使用traefik直接公开udp端口(无http)

山森
2023-03-14

我刚刚在我的kubernetes集群上部署了graylog。

我需要能够公开udp端口作为入口规则,在graylog下。本地主机/gelf。目前,我的服务包括:

$ 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

我的服务如下:

$ 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>

我的入口控制器是traefik。

共有1个答案

干子瑜
2023-03-14

如果我错了,请纠正我,但新版本的traefik也可以。

Github traefik项目页面上描述的UDP支持:Github.com: traefik项目站点将在版本2.2中可用,该版本现在是发布版本。

在撰写本文时,docker镜像存储库中当前最新的可下载traefik版本是version2.1.6

请看一下:

  • Github.com:Traefik UDP支持问题
  • Traefik.io:2.2版支持UDP的入口点
  • Traefik.io:2.2版的服务
  • Traefik.io:2.1版(最新)的入口点

如果你对此有任何疑问,请告诉我。

 类似资料:
  • 我正在处理一个应用程序,它将通过UDP从另一个本地服务接收RTP数据包。在协议的早期,我接收到一个带有IP地址的消息,我将从该IP地址接收这些RTP数据包,但端口号将被给出为0(零)...我将使用临时端口打开我的UDP套接字。我对给定消息的响应将包含我打开的实际端口,这样发送者就可以知道将数据包定向到哪里。 我的网络库是用实现套接字的。在哪里可以找到关于如何打开这样一个套接字而不指定非零端口(即使

  • 我正在尝试建立一个多集群部署,其中有多个集群,一个入口正在负载平衡它们之间的请求。 这是我所说的正式文件。

  • 我正在尝试为不同的环境设置一个带有docker-comment的Redis。因此,我需要在同一个端口上公开两个带有traefik的域: 域。通讯:6379 我无法在容器上公开这些端口,因为它们运行在同一台服务器上。 我的docker compose文件(用于域开发人员)如下所示: 我还尝试将treafik配置为使用以下endpoint: 当连接到“domain-dev.com:6379”时,无法断

  • 问题内容: 我在Docker中设置了一个简单的节点服务器。 Docker文件 example.js 现在建立图像 现在在容器中运行 验证容器正在运行并且端口已映射: 现在,让我们附加到容器并验证服务器是否在其中运行: 并在容器命令行中输入: 看起来不错吧? 问题 当我在主机上执行相同的curl命令(或使用浏览器导航到http:// localhost:1337 )时,什么都看不到。 知道为什么容器

  • 问题内容: 所以我有3个端口应该暴露在机器的接口中。使用Docker容器可以做到这一点吗? 问题答案: 要只暴露一个端口,这是您需要做的: 要公开多个端口,只需提供多个参数: