元数据
元数据(Metadata)是云主机UHost基本信息的集合,包括主机id,配置,镜像,ip等。实例的所有相关元数据可通过元数据服务器获取。
元数据服务器(Metadata Server)
元数据服务器是一个内网服务。通过该服务,能在主机内取得当前云主机实例的自身信息。
TopnewCloud的元数据服务器地址为(各可用区一致):
http://100.80.80.80/meta-data/
元数据项
(相对于:http://100.80.80.80/meta-data/latest/uhost )
元数据项 | 说明 |
---|---|
/project-id | 项目ID |
/region | 地域 |
/zone | 可用区 |
/uhost-id | 云主机ID |
/name | 云主机名称 |
/remark | 云主机备注 |
/tag | 云主机业务组 |
/image-id | 镜像ID |
/os-name | 镜像操作系统名称 |
/machine-type | 机型 |
/cpu | CPU个数 |
/memory | 内存容量(MB) |
/gpu | GPU个数 |
/isolation-group | 硬件隔离组ID |
/net-capability | 网络增强特性 |
/hotplug | 热升级特性 |
/disks/N/ | (数组)磁盘 |
/disks/N/disk-id | 磁盘id |
/disks/N/name | 磁盘名称 |
/disks/N/is-boot | 是否为系统盘 |
/disks/N/disk-type | 磁盘类型 |
/disks/N/size | 磁盘容量(GB) |
/disks/N/drive | 磁盘盘符 |
/disks/N/encrypted | 是否为加密盘 |
/disks/N/backup-type | 备份类型 |
/network-interfaces/N/ | (数组)虚拟网卡 |
/network-interfaces/N/vpc-id | VPC ID |
/network-interfaces/N/subnet-id | 子网ID |
/network-interfaces/N/mac | MAC地址 |
/network-interfaces/N/ips/N/ | (数组)IP地址 |
/network-interfaces/N/ips/N/ip-id | (仅当为EIP时有效)EIP ID |
/network-interfaces/N/ips/N/ip-address | IP地址 |
/network-interfaces/N/ips/N/type | IP类型 |
/network-interfaces/N/ips/N/width | 带宽大小(MB) |
查看元数据
通过以下命令,可获取元数据服务器相关目录层级下的对应项目信息:
[root@192-168-1-1]# curl http://100.80.80.80/meta-data/latest/uhost/uhost-id
uhost-vjfsj2db
通过以下命令,可获取元数据服务器的对应目录层级:
[root@192-168-1-1]# curl http://100.80.80.80/meta-data/latest/uhost/disks/0/
/backup-type
/encrypted
/disk-id
/disk-type
/drive
/is-boot
/name
/size
结合Cloud-Init
以下示例为一段用户自定义数据(user-data)的写法,目的为,当主机创建并且可用之后,就自动向服务器(1.2.3.4)上报主机id信息:
#!/bin/sh
md=http://100.80.80.80/meta-data/v1
myserver=http://1.2.3.4/
ID=$(curl -s $md/instance-id)
curl -s $myserver/?id=$ID