如果我发出gcloud dataproc clusters list
列出0个群集:
$ gcloud dataproc clusters list
Listed 0 items.
但是,如果我指定区域gcloud dataproc clusters list --region europe-west1
,我会返回一个群集列表:
$ gcloud dataproc clusters list --region europe-west1
NAME WORKER_COUNT STATUS ZONE
mydataproccluster1 2 RUNNING europe-west1-d
mydataproccluster2 2 RUNNING europe-west1-d
我猜测无法在未指定--region
的情况下获取群集列表是我的组织管理员做出决定的结果,但我希望有一个绕过它。我可以访问https://console.cloud.google.com/并查看项目中所有群集的列表,我可以使用gcloud
获得相同的内容吗?必须访问https://console.cloud.google.com/才能发出gcloud dataproc clusters list --region europe-west1
似乎有点限制。
答案 0 :(得分:4)
底层区域服务是按设计隔离的,因此没有单个URL返回组合列表(因为这将是全局依赖和故障模式),不幸的是,目前gcloud的布局库是这样的,当列出数据堆集群或作业时,没有选项可以指定“所有区域”的区域列表或简写。
但是,您可以通过从Compute API获取可能的区域堆栈列表来解决此问题:
gcloud compute regions list --format="value(name)" | \
xargs -n 1 gcloud dataproc clusters list --region
唯一一个与Compute区域之一不匹配的数据区域是特殊的“全局”Dataproc区域,它是一个跨越所有计算区域的独立Dataproc服务。
为方便起见,您还可以将global
添加到for循环中:
for REGION in global $(gcloud compute regions list --format="value(name)"); do gcloud dataproc clusters list --region ${REGION}; done
答案 1 :(得分:1)
必须指定$objWord.quit()
是gcloud中Dataproc命令组的工作原理。开发人员控制台问题列出了针对所有区域的请求(您可以{gccoud request执行相同操作)。
或者,您可以使用--region
mutiregion(这是gcloud默认值)。这将与您的组织策略良好互动。如果您的组织具有受区域限制的VM位置,您将能够在欧洲创建VM,但在其他地方执行此操作时会出错。