k8s 前后端分离项目,更新前端所在的 pod,必定会报 502

2020-11-20 14:53:44 +08:00
 itskingname
我的项目是一个前后端分离的网站。前端用 vue 开发,通过 axios 请求后端接口。前端的 pod 里面使用 Nginx 反向代理到后端的 URL 。

只要更新了前端的 pod,所有请求后端的接口都必定会报 502 。此时,后端不做任何修改,只需要重新部署一下就正常了。

请问有人知道是怎么回事吗?
1551 次点击
所在节点    问与答
11 条回复
julyclyde
2020-11-20 17:00:42 +08:00
前端为什么还有 pod ?前端不是一堆文件吗?
itskingname
2020-11-20 17:29:18 +08:00
@julyclyde 需要一个 nginx 啊。所以单独把前端代码跟一个 nginx 打包成了一个镜像。
quartet
2020-11-20 17:33:21 +08:00
后端的 URL 在前端的 pod 中是这样的啊,要么增加前端容器的数量,要么添加后端 ingress
julyclyde
2020-11-20 17:45:54 +08:00
@itskingname 那你的 nginx 里 proxy_pass 地址写的是什么内容呢?
itskingname
2020-11-21 11:50:43 +08:00
@julyclyde 写的是后端 service 的地址。
itskingname
2020-11-21 11:51:03 +08:00
@quartet 为什么会这样
quartet
2020-11-21 17:22:19 +08:00
@itskingname 你的前后端是不是用的同一个域名,然后 ingress 中域名指向前端 service,后端 service 只在 nginx 中配置?
julyclyde
2020-11-21 19:18:49 +08:00
@itskingname service 的域名地址还是 IP 地址啊?看看 502 的 error_log
itskingname
2020-11-22 09:38:02 +08:00
@quartet 前后端是同一个域名。后端 service 只在 Nginx 配置了。
itskingname
2020-11-22 09:38:40 +08:00
@julyclyde service 的域名地址。error log 就是无法访问。
julyclyde
2020-11-22 17:22:24 +08:00
@itskingname error log 里不会写无法访问这四个字的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/727549

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX