当前位置: 首页 > 知识库问答 >
问题:

基于工作负载标识的GKE节点池GCP IAM绑定

萧辰沛
2023-03-14

我使用Cloud Composer在Kubernetes中运行任务来安排作业。我在与composer相同的GKE中设置了一个新的节点池,并使用它来运行Kubernetes任务。在该节点池中,我使用默认服务帐户,但将该帐户绑定到与Composer节点池相同的服务帐户,使用IAM策略绑定,并启用工作负载标识。

然而,我可以从错误中看到kubernetes服务号缺少作曲家服务号可以访问的一些东西的权限。这是没有意义的,因为kubernetes服务号有一个绑定到作曲家服务号的IAM策略,所以它们应该具有完全相同的权限。但无论出于什么原因,这都不是真的。任何关于在哪里看的提示都非常感谢...

共有1个答案

邢承弼
2023-03-14

解决方案是在nodemool上启用工作负载标识。使用terraform的解决方案如下:

resource "google_container_node_pool" "google_container_node_pool_name" {

    workload_metadata_config {
       mode = "GKE_METADATA"
}
 类似资料:
  • Google docu表示,工作负载标识可以用来授权GKE POD使用Google API提供的服务(而且效果很好)。它还表示,将有一个自动创建的标识池,名为PROJECT\u ID.svc。id.goog。 关于工作负载标识联合的Docu说:“您可以使用工作负载标识池来组织和管理外部标识。” 在我按照这里所述配置了工作负载标识(并且工作正常)之后,我正在尝试检索项目中现有的工作负载标识池,我希望

  • 我目前正在使用GKE Workload Identity从GKE内部访问谷歌云平台资源。这对谷歌云存储和其他平台资源非常有效。 然而,当我试图使用GKE Workload Identity访问Google工作表时,我遇到了一个“身份验证范围不足”的问题。 当我为服务帐户生成密钥文件并在代码中使用它时,我可以手动将作用域设置为。它的工作原理与预期一样,我可以访问该表。如果我将范围更改为,我得到了与G

  • 我们已经为一个基于Java/Tomcat的应用程序设置了一个CloudSQL代理作为侧车容器。 下面是我们如何设置工作负载标识,以使我们的应用程序能够通过CloudSQL代理连接到CloudSQL: > 创建了云IAM服务帐户并授予其SQL客户端权限: 设置策略绑定如下: 向GKE服务帐户添加注释: 但当我们使用以下方法进行测试时: 尽管按照本页所述正确执行了所有操作,但仍然会导致:

  • 我试图在Composer 2环境中运行GKEStartPodOperator/KubernetesPodOperator任务,该环境在自动驾驶模式下使用GKE集群。我们有一个现有的Composer 1环境,GKE集群不处于自动驾驶模式。我们使用谷歌云平台服务(BigQuery、GCS等)进行身份验证的任务在Composer 2环境中失败,但在Composer 1环境中成功。 在日志文件中,我可以看

  • 我最近一直在使用GKE工作负载标识特性。我想更详细地了解组件的工作原理。 GCP客户端代码(或其他语言SDK)适用于GCE元数据方法 我想现在对我来说主要的难题是验证呼叫舱的身份。最初我认为这将使用令牌评论API,但现在我不确定谷歌客户端工具如何知道使用安装到pod中的服务号令牌... 编辑后续问题: 问题1:在第2步和第3步之间,是对通过节点池上的设置GKE_metadata_服务器路由到GKE

  • 我们已经在GKE集群中成功地使用了Google表格的Java客户端一段时间,使用类来提供凭据。以下代码或多或少是我们正在做的事情: 我们最近在集群上启用了工作负载标识,而这种集成不再起作用,我们得到一个403,消息是“ACCESS\u TOKEN\u SCOPE\u Uncipled”。我认为这是因为默认范围包含Google Cloud API,不允许您指定所需的Google Sheets范围。