kubernetes - Kubernetes 解析后端 IP
问题描述
我的后端和前端部署在 Google Kubernetes Engine (GKE) 上。让我们考虑这些步骤 -
- 用户打开浏览器并指向
yyy.yyy.yyy:8080
。 - 浏览器加载登录页面。
- 用户输入用户名/密码并按下“登录”按钮。
- 浏览器(ReactJS 应用程序)向 REST 后端发送请求以
xxx.xxx.xxx:7070
进行验证。
现在我的问题是,我们如何注入后端(在这种情况下xxx.xxx.xxx
)ip frontend pod?因为这个 ip 不是静态的(我不想让它成为静态的),并且将由 GKE 提供。我也不想通过前端代理我的后端调用。我也不想用nginx
,原因是,多了一个 POD,还有配置要维护。只是不想拥有nginx
只是因为这个原因。
我应该创建入口吗?我的意思是——
`/` <-- serves ReactJS app
`/api` <--- serves REST api
还是有办法注入后端POD的ip?
最好的方法是什么?
提前致谢。
解决方案
您不能直接从外部访问 Pod。唯一的方法是通过 type 的服务LoadBalancer
。您为此类服务获得的外部 IP 对于 GKE 是静态的(AWS 提供了 DNS 名称)
对于每种类型LoadBalancer
的服务,云提供商都会启动一个您必须付费的负载均衡器。您可以通过单个入口服务汇集所有 http 流量,该服务将根据主机 DNS 或 URI 路径和其他选项扇出您的请求。这几乎是每个人都会做的事情。如果你想为入口设置类似谷歌的东西
推荐阅读
- mongodb - 在MongoDB中对最近的位置进行分组
- mysql - 如何连接两个具有一对多关系的表?
- javascript - 剑道网格将json发送到控制器
- sql - 应用 SQL Server 2008 分页代码时数据表筛选器不起作用
- ios - 如何使用 ios pdfkit 显示现有的 pdf 注释
- swift - 在swift中设置cornerRadius时是否需要调用方法“awakeFromNib()”?
- java - 某些设备未获得 READ_PHONE_STATE 权限,例如;红米、OPPO
- angular - 在角度组件库中包含外部包
- php - 十六进制格式的PHP字符串奇怪的结果
- tcp - 为什么我收到缩小窗口的 tcp 段?