您如何在Kubernetes上部署Identity Server?

Røy*_*øye 7 azure-acs kubernetes identityserver4

我想在Kubernetes 1.8上部署Identity Server 4,并将其用作我的Web应用程序和Azure Active Directory之间的联合网关(首先)。

如果我使用本地k8s服务名称从Web应用程序调用Identity Server,则在登录期间,我的用户将被重定向到错误的Identity Server URL(包含本地k8s服务名称),这显然不起作用。我们正在使用隐式流程。

因此,我使用dns名称设置了Azure负载均衡器,并将Identity Server配置为可通过域名作为PublicOrigin URL从外部访问。

但是,在同一群集中运行的 Web应用程序无法使用Identity Server的外部URL访问Identity Server(发现失败)。

如果我在另一个Kubernetes群集上运行Identity Server,则一切正常。

我的问题是:

您如何在Kubernetes中正确部署Identity Server?我真的需要另一个Kubernetes集群吗?

注意:我在使用ACS引擎创建的Azure上使用Kubernetes(因为我们混合使用Windows和Linux容器)。

Mar*_*ark 5

我正在使用 AKS(Azure 托管的 kubernetes)并且在与我的 IS4 服务相同的集群中有一个客户端 asp.net core 2 web 应用程序,没有任何问题。这两个 web 应用程序都由 Nginx 和 kube-lego 来支持 LetsEncrpyt TLS,DNS 由 Azure DNS 提供。

我没有使用 PublicOrigin,而是客户端应用程序的权限(在 openidconnect 设置中)使用 IS4 服务的完整(外部 Azure)DNS 名称。如果您想使用来自客户端的集群服务命名,可以使用 PublicOrigin