在浏览器中从 Kubernetes Pod 内的服务接收数据
Receive data in browser from service inside Kubernetes Pod
我在 Kubernetes(Google 云)中创建了一个 pod,并通过 imagezmq 创建了它的流数据。
Python 流式传输数据的代码(在 Kubernetes Pod 内)-
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://127.0.0.1:5555', REQ_REP=False)
sender.send_image('rpi_name',data)
我想像这样从我的系统访问 pod 外部的数据。
image_hub = imagezmq.ImageHub('tcp://34.86.110.52:80', REQ_REP=False)
while True:
rpi_name, image = image_hub.recv_image()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + image.tobytes() + b'\r\n')
我尝试创建一个外部负载平衡,但它没有用。我不知道该怎么做
负载平衡 YAML-
apiVersion: v1
kind: Service
spec:
clusterIP: 10.72.131.76
externalTrafficPolicy: Cluster
ports:
- nodePort: 31145
port: 80
protocol: TCP
targetPort: 5555
selector:
app: camera-65
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 34.86.110.52
请帮助我。
我找到了解决方案。
正在将 ip 从 127.0.0.1 更改为 0.0.0。为我解决了这个问题。
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://0.0.0.0:5555', REQ_REP=False)
sender.send_image('rpi_name',data)
然后公开具有 LoadBalancer 类型的 pod 就完成了工作。
我在 Kubernetes(Google 云)中创建了一个 pod,并通过 imagezmq 创建了它的流数据。
Python 流式传输数据的代码(在 Kubernetes Pod 内)-
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://127.0.0.1:5555', REQ_REP=False)
sender.send_image('rpi_name',data)
我想像这样从我的系统访问 pod 外部的数据。
image_hub = imagezmq.ImageHub('tcp://34.86.110.52:80', REQ_REP=False)
while True:
rpi_name, image = image_hub.recv_image()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + image.tobytes() + b'\r\n')
我尝试创建一个外部负载平衡,但它没有用。我不知道该怎么做
负载平衡 YAML-
apiVersion: v1
kind: Service
spec:
clusterIP: 10.72.131.76
externalTrafficPolicy: Cluster
ports:
- nodePort: 31145
port: 80
protocol: TCP
targetPort: 5555
selector:
app: camera-65
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 34.86.110.52
请帮助我。
我找到了解决方案。
正在将 ip 从 127.0.0.1 更改为 0.0.0。为我解决了这个问题。
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://0.0.0.0:5555', REQ_REP=False)
sender.send_image('rpi_name',data)
然后公开具有 LoadBalancer 类型的 pod 就完成了工作。