java - 我应该在 GKE 引擎上部署 api-gateway 吗?
问题描述
我正在做一个演示项目,它有 5 个微服务——发现服务器、api-gateway、user-order-detail、order 和 user service。
我会在内部公开订单和用户服务
我将在外部公开用户订单详细信息服务,该服务将使用休息端点调用其他两个服务。
1) 我应该在 Kubernetes 引擎上部署发现服务器和 api 网关吗?如果不应该如何处理路由?
如果我不部署 api-gateway ,这个休息电话将如何发生?
2)此外,每个 spring-cloud 项目中都有一个 application.properties 文件。docker 镜像是否替换了 application.properties 文件?
3) 我是第一次使用 docker 和 kubernetes。有人能解释一下在为我的服务创建 docker 映像后我的下一步应该是什么吗?(只是步骤,我会弄清楚如何完成这些步骤)
更新:
已启动的服务:
user-order-detail LoadBalancer
kubernetes ClusterIP
order-management LoadBalancer
user-management LoadBalancer
user-order-detail 命中端点以检索所有用户。 我收到此错误:虚拟主机名没有匹配项:用户管理
解决方案
请在下面找到答案:-
1) 是的,您可以在 kubernetes 引擎上部署发现服务和 api-gateway,关于您将公开哪种类型的服务,请阅读本文档。
服务:- https://kubernetes.io/docs/concepts/services-networking/service/
2) 您可以在构建映像时复制 application.properties 文件,或者如果您想在运行时覆盖。请在 Kubernetes 中创建一个 configMap 并按卷注入 Kubernetes pod。请按照 ConfigMap 上的以下链接进行操作。
3)创建图像后要做的步骤:-
- 将图像推送到注册表
- 在 kubernetes 上部署 pod
- 创建一个服务来暴露 pod
推荐阅读
- javascript - 渲染错误:“TypeError:无法读取属性 'PAY_TYPE' of null”
- c# - 将面板位置设置为鼠标位置
- python - 在python中隐藏烛台图表上的悬停数据
- firebase - Firebase 和 Google Analytics - 缺少 measureId?
- java - Spring WebClient 配置 Okta OAuth2
- deep-learning - problem on training(first epoch take a long time more than 4 hours )using colab and fastai
- google-colaboratory - Google Colab 上同一个笔记本的训练时间有时会发生变化
- powershell - 使用 Powershell 调用命令,从外部文件加载 -Computername 变量不起作用
- sqlite - 如何删除数据 React Native SQLite
- postgresql - 多个 DELETE 语句的 Postgres 变量