×

帮助中心

常见问题
域名类
•  域名介绍
•  注册/续费
•  域名管理
•  域名过户
•  域名转移
•  增值服务
•  域名交易
•  通用网址
•  产品更新日志
邮局类
•  产品简介
•  产品管理
•  邮件客户端
•  邮箱用户操作指南
•  邮箱管理员操作指南
•  产品使用手册
•  代理商控制台操作指南
•  产品更新日志
云虚机类
•  购买与升级
•  FTP
•  主机管理
•  技术问题
•  数据库
•  产品更新日志
ECS云主机类
•  产品更新日志
会员类
•  会员注册
•  信息修改
•  忘记密码
•  账户实名认证
•  产品更新日志
财务类
•  后付费计费
•  在线支付
•  线下汇款
•  发票问题
•  汇款单招领
•  退款问题
•  充值业务
•  产品更新日志
ICP备案
•  备案问题快速咨询通道
•  备案介绍
•  备案账号
•  ICP备案前准备内容
•  ICP备案流程
•  ICP备案操作指导
•  ICP备案信息查看
•  备案合规核查要求
•  资料下载
•  公安联网备案与经营性备案
•  各地管局备案通知
•  常见问题
服务类
•  ICP备案
•  小新服务
•  产品更新日志
网站定制类
•  网站定制问题
•  网站访问问题
新办公类
•  常见问题
•  操作手册下载
云推送
•  云推送常见问题
速成建站
•  网站访问问题
•  网站使用问题
•  产品更新日志
SSL证书
•  SSL证书常见问题
•  产品更新日志
新网云产品类
•  新网云WEB应用防火墙
•  新网云DDoS防护
•  云数据库
•  云产品运维
•  内容分发网络CDN
•  对象存储 S3
•  网络
资料下载
新手上路

自定义数据

  • 作者:
  • 文章来源:新网
  • 点击数:0
  • 更新时间:2023-08-29 17:31:57

自定义数据


自定义数据(UserData)是指主机初次启动或每次启动时,系统自动运行的配置脚本,该脚本可由控制台/API等传入元数据服务器,并由主机内的cloud-init程序获取。

判断主机是否支持用户自定义数据,需要确认镜像内部已安装了cloud-init(对于新网云提供的官方镜像,或基于新网云镜像制作的自定义镜像,可通过镜像的Feature数组中是否包含CloudInit项,来判断系统中是否安装该程序),当符合条件时,主机创建页面会展示自定义数据选项。


Cloud-Init

Cloud-init是由Linux发行版Ubuntu的母公司Canonical推出的一款开源软件,此软件可被安装在主流的Linux发行版上(UbuntuCentOSDebian,等),主要的用途是在云计算平台上帮助用户初始化其创建的云主机。

用户自定义数据(Userdata)是Cloud-Init默认提供的机制,多云通用。


创建主机时传入自定义数据

通过控制台/API,可以在创建主机时传入自定义数据。支持的脚本类型包括:User-DataCloud ConfigIncludeGzip压缩脚本、 Upstart Job等。

注意:脚本内容不能超过16 KB


User-data脚本

首行固定为#!,例如#!/bin/bash,或#!/bin/python

仅在首次启动实例时执行一次。


示例 1:在主机创建完成后输出Hello World

Plaintext
#!/bin/shecho “Hello World!”CopyErrorSuccess

创建完成后,将能在/var/log/cloud-init-output.log日志文件的末尾看到”Hello World!”字样。


示例 2主机启动开启Httpd服务

Plaintext
#!/bin/bashservice httpd start
chkconfig httpd onCopyErrorSuccess


Cloud Config脚本

首行固定为#cloud-config

表明你提供的是一段由Cloud-Init原生定义的一套yaml格式的专用配置数据,它几乎囊括了所有与操作系统配置相关的抽象描述。

详情请参考官方示例


示例 1: 修改Hostname

Plaintext
#cloud-confighostname: uhost1CopyErrorSuccess


示例 2: 修改数据盘挂载点到/opt/data

Plaintext
#cloud-configmounts:- [ /dev/vdb, /opt/data ]CopyErrorSuccess


示例 3: 主机创建后自动执行一次yum update或者apt-get upgrade

Plaintext
#cloud-configpackage_upgrade: trueCopyErrorSuccess


示例 4: 创建主机时配置密钥

Plaintext
#cloud-configssh_authorized_keys:- ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAGEA3FSyQwBI6Z+nCSjUUk8EEAnnkhXlukKoUPND/RRClWz2s5TCzIkd3Ou5+Cyz71X0XmazM3l5WgeErvtIwQMyT1KjNoMhoJMrJnWqQPOt5Q8zWd9qG7PBl9+eiH5qV7NZ mykey@host
CopyErrorSuccess


其他脚本类型

UHost还支持传入Include脚本、Gzip压缩脚本、 Upstart Job等脚本类型。

详情请参考 Cloud-init官方文档


主机内获取自定义数据

通过以下方式,可在主机内部获取用户自定义数据

Plaintext
curl http://100.80.80.80/user-dataCopyErrorSuccess

 

 

ECS云主机类

免费咨询获取折扣

Loading