如何以编程方式从其集群之一获取当前 GKE 项目 ID



我想通过Java客户端或GCloud API本身从其中一个集群中获取当前的GKE项目ID。

  • 我正在特定 Google Cloud 项目的 GKE 集群中运行 Java 容器
  • 我使用适当的ClusterManagerSettings初始化ClusterManagerClient

-> 是否可以使用此客户端获取此特定项目 ID?

(我希望每个 GKE 集群中都有一个全局上下文,我们可以在其中知道我们正在运行的当前项目(。

谢谢

正如 John Hanley 在上面的评论中提到的,您可以使用集群中节点上的实例元数据来确定节点所属的项目。查看它的最简单方法是使用 shell 中的 curl(在节点上或容器中(。

如果需要项目名称,可以在以下位置看到:

curl "http://metadata.google.internal/computeMetadata/v1/project/project-id" -H "Metadata-Flavor: Google"

如果你想要项目编号,可以在以下位置看到:

curl "http://metadata.google.internal/computeMetadata/v1/project/numeric-project-id" -H "Metadata-Flavor: Google"

这不是容器 API 图面的一部分,因此ClusterManagerClient不是要使用的正确 API 客户端。您需要创建一个客户端来获取实例元数据,我希望这可能是计算客户端库的一部分,或者如果您添加正确的标头(如上所示(,您可以发出本地 HTTP 请求,因为您不需要任何特殊的客户端身份验证/授权来访问本地元数据。

相关内容

  • 没有找到相关文章

最新更新