You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K3s中通过NodePort暴露UDP服务(TFTP)无法连接的问题求助

K3s中通过NodePort暴露UDP服务(TFTP)无法连接的问题求助

大家好,我最近在K3s环境里遇到了一个棘手的问题:通过NodePort暴露UDP类型的TFTP服务时,外部始终无法连接,但同样方式暴露的TCP服务却完全正常,想请各位帮忙排查一下问题所在。

环境与配置情况

我是在单节点NixOS上运行的K3s,防火墙已经完全关闭(configuration.nix里设置了networking.firewall.enable = false;),K3s的配置也很极简:

services.k3s.enable = true;
services.k3s.role = "server";
services.k3s.extraFlags = toString [];

部署的端口配置

我的Deployment里已经声明了对应的端口:

...
ports:
- containerPort: 3000
- containerPort: 69
  protocol: UDP

Service定义

对应的Service配置如下,明确指定了NodePort和UDP协议:

apiVersion: v1
kind: Service
metadata:
  name: netboot-nodeports
spec:
  selector:
    app: netboot
  type: NodePort
  ports:
  - name: tftp
    port: 69
    targetPort: 69
    nodePort: 32069
    protocol: UDP
  - name: webui
    port: 3000
    targetPort: 3000
    nodePort: 32070

测试结果

  • TCP服务(WebUI):不管是从K3s节点本身,还是同网络的其他机器,用curl http://192.168.1.154:32070都能正常访问,完全没问题。
  • UDP服务(TFTP):在容器内部可以正常连接——执行kubectl exec -it netboot-64565b9c69-bmvs4n -- tftp localhost 69能成功交互;但从节点或者同网络的其他机器执行tftp 192.168.1.154 32069时,直接超时失败。

我检查了K3s的日志,没发现任何和这个问题相关的错误信息,实在找不到头绪了,有没有朋友遇到过类似的情况?

备注:内容来源于stack exchange,提问作者Mark Grimes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:08:03