繁体   English   中英

Kubernetes Pod容器的WebSocket无法访问

[英]Kubernetes Pod container's websocket not reachable

我创建了一个示例春季启动应用程序,该应用程序在localhost:8080 / ws公开了一个websocket端点。 基本上,我遵循本指南,只是我没有使用.withSockJS选项。

当我在本地运行此应用程序时,我的示例角度应用程序可以连接到websocket。

现在,我想将两个容器(spring boot应用程序和angular应用程序)都放在一个Kubernetes容器中。 当我运行它们时,它们都会旋转。 然后,我公开了角度前端的端口,以便能够查看该应用程序。 但是日志告诉我它无法通过ws:// localhost:8080 / ws连接到websocket后端

即使我连接到后端容器,也可以看到它已启动并正在运行,但是我的curl websocket测试也总是失败。

这是我的pod def:

---
 apiVersion: v1
 kind: Pod
 metadata:
   name: my-app.example.org
   labels:
     app: my-app-system
 spec:
   containers:
     - name: backend
       image: test/my-app-backend
       ports:
         - containerPort: 8080
       env:
       - name: SPRING_PROFILES_ACTIVE
         value: "dev-docker-postgres"
       - name: JAVA_OPTIONS
         value: "-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
     - name: frontend
       image: test/my-app-frontend
       ports:
         - containerPort: 4200
       imagePullPolicy: Always
       command: ["/bin/sh"]
       args: ["-c", "npm run kubstart"]

   imagePullSecrets:
     - name: registrykey 

还有一件事:

当我另外通过NodePort类型公开后端容器的端口,并使用服务的URL在我的机器上本地启动angular app时,websocket连接成功。

看来我无法让pod中的两个容器通过ws://相互通信

没关系...当然,这不能通过本地主机运行。 我需要公开后端的端口并“从外部”访问websocket

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM