如何在 GKE 上提供对 Kubeflow 的访问权限?

Posted

技术标签:

【中文标题】如何在 GKE 上提供对 Kubeflow 的访问权限?【英文标题】:How to provide access to Kubeflow on GKE? 【发布时间】:2019-05-11 03:12:38 【问题描述】:

我已按照Kubernetes Engine for Kubeflow中的步骤进行操作。

部署顺利,所有 pod/服务都已启动,包括 https://<name>.endpoints.<project>.cloud.goog/ 的端点,当然还有正确的 <name><project>

当我转到上述网址时,我被重定向到“使用 Google 登录”页面。我假设 OAuth 也配置正确。

但是,登录后,我在下面看到了拒绝访问页面。

还有其他方法可以提供访问权限吗?我以为它是由 OAuth 处理的。

【问题讨论】:

我建议尝试通过隐身窗口登录,看看是否可行。另请确保正确配置 oauth 凭据,如 link 所示。 请确保使用具有 GCP 项目管理员权限的 GCP 帐户登录 Kubeflow 浏览器,如 tutorial 中所述。 我忘了提到我正在关注“使用命令行在 GKE 上部署 Kubeflow”。您的第二条评论是关于“使用 UI 在 GKE 上部署 Kubeflow”,我尝试过它并且它有效。我一定是漏了一个步骤,我怀疑它与 IAP 有关。 【参考方案1】:

kfctl.sh 在“使用命令行在 GKE 上部署 Kubeflow”中创建的部署还为集群的入口创建了负载均衡器资源,并使用 Cloud Identity-Aware Proxy (IAP) 对其进行保护。

要允许新用户访问资源,请转到:

Google Cloud Console > IAM 和管理 > 身份识别代理

选择所需的资源并单击“添加成员”。

在“拒绝访问”页面填写用户,角色选择“Cloud IAP > IAP-Secured Web App User”。

一旦政策更改被传播,用户将能够成功访问该 URL。

【讨论】:

以上是关于如何在 GKE 上提供对 Kubeflow 的访问权限?的主要内容,如果未能解决你的问题,请参考以下文章

同一个 GCP 项目中的 Kubeflow 管道存储访问错误?

如何在gke中为用户授予名称空间访问权限?

如何使用 GKE 启用子域

如何在 kubeflow 管道中传递环境变量?

如何建立从GAE(具有公共访问权限)到私有GKE集群的安全连接。

在具有私有 GKE 集群的 Terraform 上使用 Kubernetes 提供程序