我正在尝试将LoadBalancer用作Pod的服务。Pod内的容器(单容器Pod)正在侦听端口8080以通过UDP接收数据包。我已手动检查容器,它的工作正常。但是,在创建LoadBalancer服务后,我无法将数据包从主机发送到minikube群集内的Pod。
这是我的pod和服务的yaml文件。我想发送数据包到集群中的pod。我创建了一个服务,你可以看看。
服务确实会侦听,但我真的不明白在我将数据包发送到externalIP:nodePort之后,数据包会转发到哪里。
对于POD
apiVersion: v1
kind: Pod
metadata:
name: tstream-deb
labels:
app: tstream-deb
spec:
containers:
- name: tstream-deb
image: tstream-deb
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
protocol: UDP
服务
apiVersion: v1
kind: Service
metadata:
name: tstream-deb
labels:
app: tstream-deb
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
nodePort: 30001
protocol: UDP
selector:
name: tstream-deb
app: tsream-deb
~
所以我的Pod基本上是监听一个数据包/消息,并在Golang中做一些事情,我在本地以及容器中测试了这些事情,它们工作得非常好。
我怎样才能从本地主机到minikube集群内部与我的pod交互呢?我也试过minikube隧道,但是没有用。
1条答案
按热度按时间py49o6xq1#
似乎问题出在使用
<externalIP>:<nodePort>
作为网络地址上。应该是
或
您还可以使用端口转发从主机检查服务
在此设置下,使用
localhost:3000
作为网络地址