使用自定义数据

最近更新时间:2019-11-05 11:18:46

在创建云服务器实例时,用户可以指定可执行的自定义数据脚本对实例进行配置,例如,完成软件下载、升级、安装,修改系统配置,以及初始化服务环境等。

自定义数据支持多种常见脚本类型,如shell脚本。

使用限制

  • 目前仅Linux操作系统支持自定义数据,Windows操作系统暂不支持。

  • 镜像支持情况

    • 标准镜像: 北京6区、上海2区、广州1区机房,2019年11月1日以后创建的云主机,可正常使用该功能;香港、新加坡、俄罗斯等机房暂不支持。

    • 自定义镜像/共享镜像:

      如果镜像是基于2019年10月30日后创建的云主机制作,则使用自定义镜像/共享镜像时,可正常使用该功能。

      对于不满足上述条件的自定义镜像/共享镜像,如果想使用自定义数据,请参考安装cloud-init服务

    • 镜像市场:从镜像市场购买的镜像不支持自定义数据。如果想使用该功能,请参考安装cloud-init服务

注意事项

  • 只有首次启动云服务器或者重装系统时,自定义数据脚本才会执行;重启云服务器时不执行自定义数据脚本。
  • 首次启动云服务器时,执行自定义数据脚本将增加服务器的启动时间。建议等待启动项目全部加载完成后,再验证脚本的执行情况。
  • 在准备自定义数据脚本时,必须以#!/bin/bash作为首行内容,且脚本文件不得超过16KB。

操作步骤

本节中采用的脚本,以将服务器开机时间及指定文本写入output.txt文件为例进行说明。

  1. 准备shell脚本。
#!/bin/bash
echo "Hello World. The time is now $(date -R)!" | tee /root/output.txt
service httpd start
chkconfig httpd on
  1. 进入云服务器KEC控制台的实例购买页面,在第四步“设置基本信息”中单击“高级选项”。

    关于创建实例的详细步骤,请参考新建实例

  2. 在“自定义数据”文本框中,输入准备好的shell脚本。

    618a3ff2857b5468356ed050a1a115d7.png

    该参数也支持Base64编码格式。如果输入的脚本内容经过base64编码,需同时选择“输入已经采用Base64格式文本”。

    c2e500ba8e24972b15ec36af666a0228.png

  3. 实例创建后,登录实例并验证脚本的执行情况。

    image.png

金山云,开启您的云计算之旅

注册有礼