gpt4 book ai didi

google-compute-engine - 如何获取运行脚本的 GCE 实例名称?

转载 作者:行者123 更新时间:2023-12-01 23:58:16 30 4
gpt4 key购买 nike

我目前正在尝试从启动脚本中操作我的实例的元数据。为此,我必须使用以下命令:

gcutil setinstancemetadata <instance-name> --metadata=<key-1:value-1> --fingerprint=<current-fingerprint-hash> 

如您所见,该命令要求提供实例名称。因为我试图从元数据中获取它,但它不在那里(参见: Default Metadata)。

我的问题是如何获取此实例名称?

编辑:现在我唯一的解决方案是在创建实例时添加实例名称作为元数据:
gcutil addintance my-cool-instance --metadata=instance-name:my-cool-instance

然后通过 curl 请求获取它:
curl 'http://metadata/computeMetadata/v1/instance/attributes/instance-name' -H "X-Google-Metadata-Request: True"

最佳答案

实例名称与其主机名相同,您可以只使用 $HOSTNAME 环境变量,例如:

gcutil setinstancemetadata $HOSTNAME --metadata=<key-1:value-1> --fingerprint=<current-fingerprint-hash>

这适用于我的实例,该实例是从 debian-7-wheezy-v20140318 镜像构建的。

更新:以上在 Debian 7 (Wheezy) 上运行良好,但在 HOSTNAME 变量是完全限定域名的操作系统上,而不仅仅是主机名,您应该使用以下语法:
gcutil setinstancemetadata $($HOSTNAME | cut -d . -f1) --metadata=<key-1:value-1> --fingerprint=<current-fingerprint-hash>

关于google-compute-engine - 如何获取运行脚本的 GCE 实例名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22631146/

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