export FQDN=`curl http://169.254.169.254/latest/meta-data/public-hostname`
export PRIVATE_FQDN=`curl http://169.254.169.254/latest/meta-data/hostname`
现在,如果我想在Azure中使用类似的Linux VM设置,我如何使用元数据服务检索它?
我知道的一个命令就是这个
curl -H元数据:true" http://169.254.169.254/metadata/instance?api-version=2017-08-01"
但是这个命令只返回ip和机器特定数据,而不是Azure中的主机名。
答案 0 :(得分:1)
你几乎是正确的,你拥有的命令会返回网络信息,因为你在/ instance之后有了speficied / network。如果您使用以下命令,则应获取所有实例元数据
curl -H元数据:true“http://169.254.169.254/metadata/instance?api-version=2017-08-01”
您可以在https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service
找到更多详细信息答案 1 :(得分:1)
该命令应该返回一个'name'值,它是VM名称,也应该是主机名。您还可以查看/ etc / hostname
这里有更多细节,您需要进一步阅读。
答案 2 :(得分:1)
您可以使用curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01"
检索实例的所有元数据。
如您所见,Azure不提供主机名。
所以,答案是不可能的。
不是:通过defualt,VM的主机名等于VM的名称。