我在 kubernetes 中遇到端口转发 UDP 流量的问题。我正在运行 coreos 裸机设置,过去只使用舰队来运行我的容器,因此这些容器可以正常工作,并且我的网络和端口转发设置正确。我可以手动运行容器并将端口转发给它,并且事情按预期工作,所以 kubernetes 和 UDP 似乎正在发生一些事情。我有多个无法正常工作的服务,但最简单的一个是这个 Mumble 服务器。这是从复制控制器开始的设置。
apiVersion: v1
kind: ReplicationController
metadata:
name: mumble-v0
labels:
app: mumble
version: v0
spec:
replicas: 1
selector:
app: mumble
version: v0
template:
metadata:
labels:
app: mumble
version: v0
spec:
containers:
- name: mumble
image: coppit/mumble-server
imagePullPolicy: Always
resources:
limits:
cpu: 0.5
memory: 500Mi
ports:
- containerPort: 64738
name: mumble
- containerPort: 64738
name: mudp
protocol: UDP
以及服务本身:
apiVersion: v1
kind: Service
metadata:
name: mumble
labels:
app: mumble
kubernetes.io/name: "mumble"
spec:
selector:
app: mumble
ports:
- name: mumble
port: 64738
- name: mumble-udp
port: 64738
protocol: UDP
externalIPs: ["10.0.1.19"]
客户端能够连接到服务并查看服务器,但语音流量无法正常流动。此语音流量通过 UDP 发送和接收。环顾四周,我看到其他关于 UDP 问题的报告,这些报告似乎与Responses from kubernetes container getting lost和Problems on running a SIP application (UDP) on Kubernetes 相关。
有谁知道这里可能出了什么问题或修复?