Kubernetes POD无法通过websockets发送消息

2024-06-10 09:37:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个POD,使用Docker Python映像,运行良好,它是一个“服务器”,正在侦听并等待连接

#Main
    try:
        s = socket.socket()
        host = "0.0.0.0"
        port = 24000
        s.bind((host, port))
        s.listen(5)
        while True:
            print("Last checkpoint")
            c, addr = s.accept()
            print('Got connection from', addr)
            c.send(("Connection accepted!").encode('utf-8'))
            thread3 = Thread( target=on_new_client, args=(c, addr,  ) )
            thread3.start()
    except:
        print("Oops!",sys.exc_info(),"occured.")
    s.close()

这是一个deployment.yaml,我和linker一起运行(就我而言,这不是谁在影响程序)

---
apiVersion: v1
kind: Namespace
metadata:
  name: linkerd-test
---
 apiVersion: v1
 kind: Pod
 metadata:
   annotations:
        config.linkerd.io/proxy-log-level: "debug"
   name: equipment-service
   namespace: linkerd-test
   labels:
     app: equipment-app
 spec:
   containers:
     - name: equipment-container
       image: tcnl/equipment:1.0
       ports:
        - containerPort: 24001
        - containerPort: 24000

因此,“print(“Last checkpoint”)”是Kubernetes内部运行的代码。它以前运行两个线程,一个只处理程序内部的一些数据,另一个运行flaskrestapi,两个线程都运行良好,但代码没有超出这一点。当我尝试连接时,它会连接,但它会等待一条消息(这就是行为),但就像python代码从不发送该消息一样。就像客户端可以连接,但服务器不承认这一点


Tags: 代码name服务器hostportsocketlastaddr