3

是否可以过滤掉通配符或正则表达式上的实例?我基本上只想要 GCE 实例,而不是 GKE 或其他服务提供的实例。

我发现 GCP 服务创建的实例附加了一个标签,通常以goog-*. 从 GCP Cloud Logging 我可以很好地过滤掉这些,但在 python 客户端中似乎不支持正则表达式。

from googleapiclient.discovery import build

service = build('compute', 'v1', credentials=credentials)
request = service.instances().aggregatedList(project="my-project", filter="labels != goog-*")
4

1 回答 1

1

虽然goog-something在部署新集群或什至单个 VM 解决方案时获得这些标签并不是一个文档化的功能——但在大多数情况下,这是正确的。

要获得所有带有标签的实例的列表,而不是goog-运行:

gcloud compute instances list --filter=-labels:'goog-*'

将它应用到 Python 中,它看起来像这样:

import os
os.system('gcloud compute instances list --filter=-labels:"goog-*"')

或者您可以使用subprocess.run(如此所述)。

如果有任何疑问,您可以查看gcloud compute instances list文档以及如何使用过滤器选项

于 2021-09-14T15:21:43.827 回答