• 沒有找到結果。

2.6 使用实例自定义数据和元数据

2.6.2 元数据

型 /meta_data.json 查询裸金属服务器的元数据信息。

元数据的关键字段请参见表2-10。

/password 查询裸金属服务器的密码。

对于Windows系统,使用密钥对创建服务器 初始化时,Cloudbase-init用于保存密文密 码。

/user_data 查询裸金属服务器的用户数据。

用户根据需要自行指定脚本和配置文件用于 服务器初始化,详细操作请参考实例自定义 数据注入。

若Linux服务器使用密码方式,则保存注入密 码的脚本。

/network_data.json 查询裸金属服务器的网络信息。

/securitykey 获取临时的AK、SK。

对裸金属服务器获取临时的AK、SK,需要在 IAM上对裸金属服务授权,并对相应的服务 器资源进行授权委托管理。

元数据类型 实例元数据项 说明 兼容EC2类型 /meta-data/

hostname 查询裸金属服务器的主机名称。

请参考以下链接为裸金属服务器去掉后 缀.novalocal:

裸金属服务器的主机名带后缀

“novalocal”

/meta-data/

instance-type 查询裸金属服务器的规格名称。

/meta-data/local-ipv4 查询裸金属服务器的固定IP地址。

多网卡情况下,只显示主网卡的地址。

/meta-data/public-ipv4 查询裸金属服务器的弹性公网IP地址。

多网卡情况下,只显示主网卡的弹性公网IP 地址。

/meta-data/public-keys/0/openssh-key 查询裸金属服务器的公钥。

/user-data 查询裸金属服务器的用户数据。

/meta-data/

security-groups 查询裸金属服务器所使用的安全组名称。

2-10 metadata 关键字段

参数 参数类型 描述

uuid String 裸金属服务器的ID。

availability_z

one String 裸金属服务器所在可用区。

meta Dict 元数据信息,包括镜像名称、镜像ID、VPC ID等信息。

hostname String 裸金属服务器主机名。

请参考以下链接为裸金属服务器去掉后 缀.novalocal:

裸金属服务器的主机名带后缀“novalocal”

vpc_id String 裸金属服务器所属的虚拟私有云ID。

对于支持的元数据类型,本节详细介绍了其URI和使用方法。

前提条件

● 已登录裸金属服务器。

● 请确保安全组出方向规则满足如下要求,否则访问元数据请求失败:

– 协议:TCP – 端口范围:80

– 远端地址:169.254.0.0/16 说明

如果您使用的是默认安全组出方向规则,则已经包括了如上要求,可以正常访问元数据。

默认安全组出方向规则为:

● 协议:Any

● 端口范围:Any

● 远端地址:0.0.0.0/16

Metadata(OpenStack 元数据 API)

用于查询裸金属服务器的元数据。

curl http://169.254.169.254/openstack/latest/meta_data.json

{ "random_seed": "rEocCViRS+dNwlYdGIxJHUp+00poeUsAdBFkbPbYQTmpNwpoEb43k9z+96TyrekNKS +iLYDdRNy4kKGoNPEVBCc05Hg1TcDblAPfJwgJS1okqEtlcofUhKmL3K0fto "uuid": "ca9e8b7c-f2be-4b6d-a639-f10b4d994d04", "availability_zone": "lt-test-1c",

"hostname": "bms-ddd4-l00349281.novalocal", "launch_index": 0,

"meta": {

"metering.image_id": "3a64bd37-955e-40cd-ab9e-129db56bc05d", "metering.imagetype": "gold",

"metering.resourcespeccode": "physical.s3.small", "metering.cloudServiceType": "service.type.ec2", "image_name": "CentOS 7.6 64bit",

"os_bit": "64",

"vpc_id": "3b6c201f-aeb3-4bce-b841-64756e66cb49", "metering.resourcetype": "1",

"cascaded.instance_extrainfo": "pcibridge:2", "os_type": "Linux",

"charging_mode": "0"

},

"project_id": "6e8b0c94265645f39c5abbe63c4113c6",

"name": "ecs-ddd4-l00349281"

}

User data(OpenStack 元数据 API)

用于查询裸金属服务器的用户数据。该值仅在创建裸金属服务器时指定,不支持修

curl http://169.254.169.254/openstack/latest/user_data

ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY

Network data(OpenStack 元数据 API)

查询裸金属服务器的网络信息。

curl http://169.254.169.254/openstack/latest/network_data.json

{ "services": [{

"networks": [{

"network_id": "67dc10ce-441f-4592-9a80-cc709f6436e7", "type": "ipv4_dhcp",

"vif_id": "68a9272d-7152-4ae7-a138-3ef53af669e7", "ethernet_mac_address": "fa:16:3e:f7:c1:47", "id": "tap68a9272d-71",

"mtu": null }]

}

Security Key(OpenStack 元数据 API)

获取临时的AK、SK。

说明

● 您如果需要在裸金属服务器获取临时的AK、SK,需要在IAM上对裸金属服务器进行云服务委 托授权,并对相应的裸金属服务器资源进行授权委托管理。操作流程请参考IAM用户指南。

● 临时的AK、SK一小时后会失效。临时AK、SK更新时间早于失效时间10分钟,10分钟内新旧 临时AK、SK均可用。

● 使用临时AK、SK时,需要在消息的header中增加'X-Security-Token':securitytoken。其中,

securitytoken就是调用接口返回的值。

curl http://169.254.169.254/openstack/latest/securitykey

User data(EC2-兼容的 API)

用于查询裸金属服务器的用户数据。该值仅在创建裸金属服务器时指定,不支持修

curl http://169.254.169.254/latest/user-data

ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY

Hostname(EC2-兼容的 API)

用于查询裸金属服务器的主机名称,后面会追加.novalocal后缀。

● URI

/169.254.169.254/latest/meta-data/hostname

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/hostname

bms-test.novalocal

Instance Type(EC2-兼容的 API)

用于查询裸金属服务器的规格名称。

● URI

/169.254.169.254/latest/meta-data/instance-type

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/instance-type

physical.o2.medium

Local IPv4(EC2-兼容的 API)

用于查询裸金属服务器的固定IP地址。多网卡情况下,只显示主网卡的地址。

● URI

/169.254.169.254/latest/meta-data/local-ipv4

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/local-ipv4

192.1.1.2

Availability Zone(EC2-兼容的 API)

用于查询裸金属服务器的AZ信息。

● URI

/169.254.169.254/latest/meta-data/placement/availability-zone

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/placement/availability-zone

az1.dc1

Public IPv4(EC2-兼容的 API)

用于查询裸金属服务器的弹性公网IP地址。多网卡情况下,只显示主网卡的弹性公网IP 地址。

● URI

/169.254.169.254/latest/meta-data/public-ipv4

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/public-ipv4

46.1.1.2

Public Keys(EC2-兼容的 API)

用于查询裸金属服务器的公钥。

● URI

/169.254.169.254/latest/meta-data/public-keys/0/openssh-key

● 方法

支持GET请求。

● 示例

curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI5Fw5k8Fgzajn1zJwLoV3+wMP+6CyvsSiIc/

hioggSnYu/AD0Yqm8vVO0kWlun1rFbdO+QUZKyVr/OPUjQSw4SRh4qsTKf/+eFoWTjplFvd1WCBZzS/

WRenxIwR00KkczHSJro763+wYcwKieb4eKRxaQoQvoFgVjLBULXAjH4eKoKTVNtMXAvPP9aMy2SLgsJNt Mb9ArfziAiblQynq7UIfLnN3VclzPeiWrqtzjyOp6CPUXnL0lVPTvbLe8sUteBsJZwlL6K4i

+Y0lf3ryqnmQgC21yW4Dzu+kwk8FVT2MgWkCwiZd8gQ/+uJzrJFyMfUOBIklOBfuUENIJUhAB Generated-by-Nova