我在kubernetes的港口转发UDP流量方面遇到了问题。我正在运行一个coreos裸金属设置,在过去只是使用船队运行我的容器,所以这些容器的工作和我的网络和端口转发是正确的设置。我可以手动运行容器和端口,然后按预期运行,所以库伯内特斯和UDP似乎正在发生一些事情。我有多个服务不能正常工作,但最简单的一个是这个模糊服务器。下面是从复制控制器开始的它的设置。
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问题的其他报告,这些报告似乎与kubernetes集装箱丢失的答复和在Kubernetes上运行SIP应用程序(UDP)的问题有关。
有人知道这里可能出了什么问题或解决办法了吗?
发布于 2016-08-17 10:27:11
如果您是kubectl get svc,您应该看到它打开了UDP 或 TCP端口。在同一个端口上支持UDP和TCP的Kubernetes似乎是一个正在进行的问题。
如果您更改了端口号,您将得到一个错误:“无法使用混合协议创建外部负载均衡器”(请参见相关问题)。
您可以做的是使用相同的静态IP (应该保留)创建两个服务:
apiVersion: v1
kind: Service
metadata:
name: mumble-tcp
labels:
project: mumble
spec:
type: LoadBalancer
loadBalancerIP: 10.10.10.10
ports:
- port: 64738
selector:
name: mumble
project: mumble
---
apiVersion: v1
kind: Service
metadata:
name: mumble-udp
labels:
project: mumble
spec:
type: LoadBalancer
loadBalancerIP: 10.10.10.10
ports:
- port: 64738
protocol: UDP
selector:
name: mumble
project: mumblehttps://stackoverflow.com/questions/34971884
复制相似问题