我的UDP设置不起作用。
在飞行舱里,
--entryPoints.udp.address=:4001/udp被添加。端口正在监听,并在traefik UI上显示udp入口点端口4001。所以UDP 4001入口点起作用了。
我已经申请了这个CRD:
kind: IngressRouteUDP
metadata:
name: udp
spec:
entryPoints:
- udp
routes:
- services:
- name: udp
port: 4001kubrnetes服务CRD:
apiVersion: v1
kind: Service
metadata:
name: udp
spec:
selector:
app: udp-server
ports:
- protocol: UDP
port: 4001
targetPort: 4001在traefik UI上获得了错误:
NAME: default-udp-0@kubernetescrd
ENTRYPOINTS: udp
SERVICE:
ERRORS: the udp service "default-udp-0@kubernetescrd" does not exist我做错什么了?还是一只虫子?traefik版本2.3.1
发布于 2022-04-14 05:49:31
所以我遇到了使用k3s/rancher和traefik 2.x的麻烦。这里的问题是,配置命令行开关只会在traefik仪表板中显示一个工作环境,但它只是没有工作。
在k3s中,解决方案是提供traefik-config.yam请求trafik.yaml。traefik.yaml总是在重新启动k3s时重新创建的。
将traefik-config.yaml放置到/var/lib/rancher/k3s/server/manifests/traefik-config.yaml中将保持更改的持久性。
错过的是entrypoint声明。您可能假设这是通过命令行开关来完成的,但事实并非如此。
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
additionalArguments:
- "--entryPoints.udp.address=:55000/udp"
entryPoints:
upd:
address: ':55000/upd'在进一步检查舵机安装作业之前,名称为kube-system。如果两个舵机中的一个安装作业出错,traefik将无法工作。
以防一切都像上面那样工作,而你仍然有麻烦。然后,一种选择就是将upd流量配置为一个普通的kubernetes负载平衡器服务。就像这个例子,我成功地测试了
apiVersion: v1
kind: Service
metadata:
name: nginx-udp-ingress-demo-svc-udp
spec:
selector:
app: nginx-udp-ingress-demo
ports:
- protocol: UDP
port: 55000
targetPort: 55000
type: LoadBalancer条目type: LoadBalancer将在ony节点上启动一个结荚,该节点将向负载均衡器服务发送传入的UDP/55000。
这对我在k3s集群上是有效的。但这并不是问题中提出的原生traefik解决方案。更多的工作,这使事情在第一位。
我找到了一个在https://github.com/traefik/traefik/blob/master/docs/content/routing/providers/kubernetes-crd.md.上处理Traefik解决方案的源代码
这似乎有一个可行的解决办法。但它有很小的扩展,只显示了清单。我要测试一下,然后再回来。
这对我的系统有效。
https://stackoverflow.com/questions/68981713
复制相似问题