我目前正在試圖從啓動腳本操縱我的實例的元數據。要做到這一點我必須使用下面的命令:如何獲得腳本運行的GCE實例名稱?
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 'http://metadata/computeMetadata/v1/instance/attributes/instance-name' -H "X-Google-Metadata-Request: True"
謝謝你的迴應。在CentOS上,主機名似乎有點不同:'my-cool-instance.c.my-cool-project.xxxx.com.yyyyy'。我只是添加一個'剪切'而已解決。 –
並非所有的實例名稱都與主機名相同。如果你有自定義的主機名呢?在這種情況下,實例的名稱與主機名不同。 – Baskar