当没有本地服务发现时,我需要帮助正确的工作流程与Jhipster一起开发 .
在我目前的私人项目中,我使用Jhipster注册表进行服务发现,使用OAuth2(Keycloak) . 所有东西都被部署到Kubernetes,完美运行 .
现在我想切换到Istio . 因此我选择了'serviceDiscoveryType'选项:false .
在kubernetes环境中,这可能有效,因为入口定义处理路由 . 我还没有尝试过 .
我现在的问题是,如果没有这个,我不知道如何在当地发展 . 当我启动一个连接到微服务(端口8081)的简单网关(端口8080)时,我收到一个错误,因为它在8080端口查找微服务 .
此时我想补充一点,Oauth2(Keycloak)确保一切安全 .
是否有可能将安全呼叫路由到正确的端口(8081),也许是'webpack.dev.js'中的一个选项?
谢谢你的建议 .
1 回答
这是我们将来在jhipster中讨论的一个问题 . 但目前这是你可以做的:
内部负载 balancer :在docker-compose中启动服务时(查看jhipster docker-compose,然后你可以访问与kubernetes相同的服务 . 如果你有"foo-app"运行,你可以执行任何容器和
curl http://foo-app/
并正确路由 .边缘路由:在kubernetes中,您可以定义多个入口路径,以使example.com/路由到网关:8080,example.com / foo路由到foo:8081(如果这是配置) . Docker-compose本身没有任何功能 . 但是,您可以通过构建NGINX反向代理来解决这个问题 .
看看:https://medium.com/@joatmon08/using-containers-to-learn-nginx-reverse-proxy-6be8ac75a757
它解释了如何设置类似的东西非常好