OpenStack CLI:从云初始化脚本访问 `--属性`
OpenStackCLI: Access `--property`'s from cloudinit script
我正在使用 OpenStack CLI 创建服务器实例,并且需要将自定义属性 (--property
) 传递到 --user-data
参数引用的初始化脚本中。
所以,我的调用看起来像这样:
openstack server create myServer \
...other args...
--user-data ./initScript.sh \
--property "foo=bar"
在 initScript.sh
中,如何访问 foo
属性 及其值?
用 --property
定义的元素进入元数据的 meta
元素。 [source]
如果你运行
curl http://169.254.169.254/openstack/2018-08-27/meta_data.json
你会得到
{
"hostname": "test.novalocal",
…
"meta": {
"foo": "bar",
…
},
…
}
并解析出 shell 脚本中的值,您可以使用例如:
$ curl http://169.254.169.254/openstack/2018-08-27/meta_data.json \
| jq -r '.meta.foo'
bar
请参阅 Metadata Service 的文档,了解有关可用于检索此信息的格式和各种方法的更多信息。
我正在使用 OpenStack CLI 创建服务器实例,并且需要将自定义属性 (--property
) 传递到 --user-data
参数引用的初始化脚本中。
所以,我的调用看起来像这样:
openstack server create myServer \
...other args...
--user-data ./initScript.sh \
--property "foo=bar"
在 initScript.sh
中,如何访问 foo
属性 及其值?
用 --property
定义的元素进入元数据的 meta
元素。 [source]
如果你运行
curl http://169.254.169.254/openstack/2018-08-27/meta_data.json
你会得到
{
"hostname": "test.novalocal",
…
"meta": {
"foo": "bar",
…
},
…
}
并解析出 shell 脚本中的值,您可以使用例如:
$ curl http://169.254.169.254/openstack/2018-08-27/meta_data.json \
| jq -r '.meta.foo'
bar
请参阅 Metadata Service 的文档,了解有关可用于检索此信息的格式和各种方法的更多信息。