gpt4 book ai didi

google-compute-engine - Google Compute Engine API - 使用标签/标签过滤实例或其他列表

转载 作者:行者123 更新时间:2023-12-03 04:19:09 24 4
gpt4 key购买 nike

使用 gcloud 命令行工具我可以做到:

$ gcloud compute instances list --filter='tags.items:development'

docmen t aton Claims: "..您还可以对嵌套字段进行过滤。例如,您可以对已将 Scheduling.automaticRestart 字段设置为 true 的实例进行过滤。对嵌套字段使用过滤以利用标签来组织和搜索基于标签值的结果。”但没有提供示例,因此尚不清楚实际上如何进行此操作。

我尝试过labels.development eq *.*labels eq *development*labels:development等..我我们还尝试将命令行客户端的详细程度设置为 info 并查看输出,以及监视从 Compute Engine web console 发送到 API 的请求。 ,但两者都没有让我有任何进展。

最佳答案

使用正则表达式过滤器查找标签

我正在努力解决同样的问题,但我认为正则表达式可以解决问题。

我有很多带有多个标签的实例,但我可以使用“~”运算符搜索所有标签,例如查找带有生产标签的所有服务器:

gcloud compute instances list --filter='tags.items~^production$'

对于许多服务器,“生产”标签是tags.items 中的第三个条目,但正则表达式可以找到它。

这似乎有效,但我找不到任何明确说明它应该有效的文档。最近的是 topic filters 上的部分其中提到了这一点

key ~ value True if key matches the RE (regular expression) pattern value.


您还可以搜索多个标签

gcloud compute instances list --filter='tags.items~^production$ AND tags.items~^european$'

它将找到带有“生产”和“欧洲”两个标签的所有服务器


标签 v 自定义元数据

如果您想要比标签更灵活的东西(只能存在或缺失),您可以将自己的自定义多值元数据附加到实例(通过 UI,命令 -线或API)。然后您可以搜索该项目的特定值。

例如,假设我有不同的实例支持不同品牌的电子商务,我可以将自定义“品牌”元数据项附加到每个服务器,然后通过 .. 查找运行我的“可口可乐”品牌的所有服务器。

gcloud compute instances list --filter="metadata.items.key['brand']['value']='Coca-Cola'"

...以及我的“百事可乐”服务器...

gcloud compute instances list --filter="metadata.items.key['brand']['value']='Pepsi Cola'"


使用正则表达式过滤器查找元数据

您可能已经猜到了这一点,但正则表达式运算符也可以与元数据过滤器一起使用,因此您可以执行以下操作

gcloud 计算实例列表 --filter="metadata.items.key['brand']['value']~'Cola'"

关于google-compute-engine - Google Compute Engine API - 使用标签/标签过滤实例或其他列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com