基于前面关于微服务集群内授权的问题,我有以下更具体的问题。如何在 Kubernetes 中实现 API 网关模式以使用 Python 进行身份验证?这样任何授权方式都可以使用,其他微服务不用担心这个问题。
我的要求/愿望清单:
- 使用 Python 代码验证请求,处理登录/注销。
- 使用来自 K8s Ingress 的 URL 列表或至少类似的简单但功能强大的 YAML 格式,这样路由不会内置到任何服务的代码中,并且可以快速更新。
- 解决方案必须至少具有可容忍的性能。
对这个问题的任何帮助都会有所帮助🙌
在外国同事的帮助下,我们设法找到了答案。
NginX 知道如何使用LDAP。本文描述了该过程,这里是官方存储库,其中包含用于外部身份验证的示例 Python + LDAP + NginX 配置。这种方法还有一个非官方的例子。
此外,NginX 模块
ngx_http_auth_request_module支持更简单的协议,有关于这个主题的文档和非官方示例,以及Kubernetes Ingress 中的一个小型半官方用例。或者,您可以使用其他软件作为 Kuber 中的 API 网关: