如何使用JWT和Kubernetes设置Spring后端

如何使用JWT和Kubernetes设置Spring后端,spring,docker,kubernetes,jwt,microservices,Spring,Docker,Kubernetes,Jwt,Microservices,我实现了一个Spring后端,负责存储不同的数据(用户、讲座等)。该后端由JWT保护,一切正常。在我的研究中,我想增强后端,现在我想使用微服务体系结构,而不是单一的体系结构。为此,我需要使用Docker和Kubernetes。我经常阅读一些文章,其中写道,当我想在微服务体系结构中使用JWT时,我需要授权服务器和Ressource服务器。对吗?我是否需要一个用于我的目的的网关(如Zuul)?有人能帮我组织这个项目,并为技术堆栈提供建议吗。最后,整个项目将在一台服务器上运行 我实现了一个Moloth

我实现了一个Spring后端,负责存储不同的数据(用户、讲座等)。该后端由JWT保护,一切正常。在我的研究中,我想增强后端,现在我想使用微服务体系结构,而不是单一的体系结构。为此,我需要使用Docker和Kubernetes。我经常阅读一些文章,其中写道,当我想在微服务体系结构中使用JWT时,我需要授权服务器和Ressource服务器。对吗?我是否需要一个用于我的目的的网关(如Zuul)?有人能帮我组织这个项目,并为技术堆栈提供建议吗。最后,整个项目将在一台服务器上运行


我实现了一个Molothical后端,由JWT保护。

Kubernetes通过使用OAuth 2.0协议识别用户请求的工具,正式支持JSON Web令牌(JWT)中的API服务器。然而,这只是模型的一部分,它决定了如何向经过身份验证的用户授予适当的安全策略或角色来管理Kubernetes群集资源

< >为了将应用程序构建或迁移到Kubernetes,您可以考虑将应用程序暴露在集群之外,为此,代理服务器通过匹配请求路径来请求精确的服务。实际上,
ingres
是一个逻辑资源元素,它描述了一组通过的流量管理规则。因此,入口控制器可以通过提供L7网络设施(如:负载平衡、SSL终止和嵌套应用程序服务的HTTP/HTTPS流量路由)发挥API网关的作用

正如您所提到的,网关可以是Kubernetes群集前面的边缘代理服务的选项之一,但是我建议寻找一些更面向Kubernetes的解决方案。这是一个很好的例子,因为它通过核心设计将一系列网络路由器功能非常简单地集成到Kubernetes集群中。Istio在声明的身份验证中通过JWT提供最终用户身份验证


另外,您还可以通过宣布的JWT身份验证完成功能。

非常感谢!但这是一个如此复杂的话题。正如您提到的,后端可能是这样的:每个微服务的Spring引导。然后,每个微服务(讲座服务,…)将由Docker和Kubernetes处理集群。作为网关,我将使用入口。对于微服务之间的通信,我可以使用Ribbon或RestTemplate(这是否正确?)。为了安全起见,我可以使用OpenID连接或Istio。他们都与jwt合作。这是一个很好的技术架构,它是一个坚实的微服务体系结构吗?我认为每一个都是必要的吗?同一个KubNetes集群内的不同服务之间的通信是通过CNI网络组织的,入口可以被ISTIO <代码> ISTION IGRESCSGEATION/CODE >代替。