自定义数据
自定义数据(UserData)是指主机初次启动或每次启动时,系统自动运行的配置脚本,该脚本可由控制台/API等传入元数据服务器,并由主机内的cloud-init程序获取。支持的脚本类型包括:User-Data、Cloud Config、Include、Gzip压缩脚本、 Upstart Job等。
判断主机是否支持用户自定义数据,需要2个前提条件:镜像内部已安装了cloud-init(即镜像的Feature中,包含CloudInit),以及当前地域支持了元数据服务器。当符合上述2个条件时,主机创建页面会展示“自定义数据”选项。
创建主机时传入自定义数据
注意:脚本内容不能超过16 KB。
User-data脚本
首行固定为#!,例如#!/bin/bash,或#!/bin/python等
仅在首次启动实例时执行一次。
示例: 主机启动开启Httpd服务
#!/bin/bash service httpd start chkconfig httpd on
Cloud Config脚本
首行固定为#cloud-config
根据调用模块的不同,启动频次也不同,详情请参考官方示例
示例 1:修改Hostname
#cloud-config hostname: uhost1
示例 2: 修改数据盘挂载点到/opt/data
#cloud-config mounts: - [ /dev/vdb, /opt/data ]
其他脚本类型
UHost还支持传入Include脚本、Gzip压缩脚本、 Upstart Job等脚本类型。
详情请参考 Cloud-init官方文档
主机内获取自定义数据
通过以下方式,可在主机内部获取用户自定义数据
curl http://100.80.80.80/user-data