天翼云- 用户数据注入

个人博客 343 0

使用场景

当您有如下需求时,可以考虑使用用户数据注入功能来配置弹性云主机:

•需要通过脚本简化弹性云主机配置

•通过脚本初始化系统

•已有脚本,在创建弹性云主机的时候一并上传到服务器

•其他可以使用脚本完成的功能

文件注入方式同样可以实现上述功能,推荐您优先使用用户数据注入功能。

使用限制

Linux:

•用于创建弹性云主机的镜像安装了Cloud-init组件。

•用户数据大小限制:小于等于32KB。

•如果通过文本方式上传用户数据,数据只能包含ASCII码字符;如果通过文件方式上传用户数据,可以包含任意字符,同时,要求文件大小小于等于32KB。

•必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloud-init组件的私有镜像。

•必须满足相应Linux弹性云主机自定义脚本类型的格式要求。

•使用的VPC网络必须开启DHCP,安全组出方向规则保证80端口开放。

•选择“密码”登录方式时,不支持用户数据注入功能。

Windows

•用于创建弹性云主机的镜像安装了Cloudbase-init组件。

•用户数据大小限制:小于等于32KB。

•如果通过文本方式上传用户数据,数据只能包含ASCII码字符;如果通过文件方式上传用户数据,可以包含任意字符。

•必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloudbase-init组件的私有镜像。

•使用 VPC网络必须开启DHCP,安全组出方向规则保证80端口开放。

使用方法

1.根据实际需要写用户数据脚本,脚本格式必须符合用户数据脚本规范,详细规范请参考Cloud-init/Cloudbase-init官网:

https://cloudinit.readthedocs.io/en/latest/

https://cloudbase-init.readthedocs.io/en/latest/

2.创建弹性云主机时,需将用户数据脚本内容粘贴到“高级配置 > 现在配置 > 用户数据注入”的文本框,或选择用户数据文件上传。

 天翼云- 用户数据注入 第1张

3.系统创建弹性云主机,弹性云主机启动后自动执行Cloud-init或Cloudbase-init组件,读取用户数据脚本。

关于Linux云主机的用户数据脚本

Linux弹性云主机的自定义用户数据脚本(简称“脚本”)采用开源的cloud-init架构实现,该架构以云主机的元数据为数据来源,对弹性云主机进行各项自动化配置。自定义脚本类型兼容开源cloud-init,详情请参考cloud-init开源说明:http://cloudinit.readthedocs.io/en/latest/topics/format.html

•脚本的执行时间:弹性云主机的状态变为“running”之后,执行文件/etc/init之前。

说明

脚本默认以root用户权限执行。

•脚本类型:包括“User-Data Script”和“Cloud-Config Data”。

 Linux云主机脚本类型介绍

-

User-Data Script

Cloud-Config Data

描述

以脚本作为自定义配置的手段,如shell和python脚本。

cloud-init中预定义的对云主机部分服务进行配置的手段,如yum源、SSH 密钥。

格式

首行必须是“#!”(如“#!/bin/bash和#!/usr/bin/env   python”)。

首次启动时,将在rc.local-like级别上执行,rc.local-like意味着“在启动序列中非常靠后”。

首行必须是“#cloud-config”,且前面不能有空格。

限制

在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。

在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。

频率

仅在首次启动弹性云主机时执行一次。

配置的服务不同,执行频率也会不同。

•如何查看注入Linux弹性云主机的自定义用户数据?

1.登录弹性云主机。

2.执行以下命令,以root用户权限查看自定义用户数据。

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

•脚本使用示例:

该示例介绍如何以不同格式输入Linux弹性云主机的脚本,并查看脚本的运行结果。

示例一:脚本类型为User-Data Script

创建弹性云主机时,选择“文本”形式并输入自定义用户数据脚本,脚本如下:

#!/bin/bash

echo "Hello, the time is now $(date -R)" | tee /root/output.txt

创建成功后,连接并启动弹性云主机,执行命令cat [file],查看脚本的运行结果。

[root@XXXXXXXX ~]# cat /root/output.txt

Hello, the time is now Mon, 16 Jul 2016 16:03:18+0800

示例二:脚本类型为Cloud-Config Data

创建弹性云主机时,选择“文本”形式并输入自定义用户数据脚本,脚本如下:

#cloud-config

bootcmd:

- echo 192.168.1.130 us.archive.ubuntu.com >> /etc/hosts

创建成功后,连接并启动弹性云主机,执行命令cat /etc/hosts查看脚本的运行结果。

天翼云- 用户数据注入 第2张

关于Windows弹性云主机的用户数据脚本

Windows弹性云主机的自定义用户数据脚本(简称“脚本”)采用开源的cloudbase-init架构实现,该架构以弹性云主机的元数据为数据来源,对弹性云主机进行各项自动化配置,为Windows弹性云主机提供执行初始化脚本的能力。自定义脚本类型兼容开源cloudbase-init,详情请参考cloudbase-init开源说明:https://cloudbase-init.readthedocs.io/en/latest/userdata.html。

•脚本类型:包括“Batch批处理程序”和“PowerShell脚本”。

Windows云主机脚本类型介绍

-

Batch批处理程序

PowerShell脚本

格式

以“rem cmd”开头且作为首行,且前面不能有空格。

以“#ps1”开头且作为首行,且前面不能有空格。

限制

在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。

在采用Base64编码前,脚本内容(包括首行在内)不能超过32KB。

•如何查看注入Windows弹性云主机的自定义用户数据?

1.登录弹性云主机。

2.在浏览器栏访问如下地址,查看注入的用户数据。

http://169.254.169.254/openstack/latest/user_data

•脚本使用示例

该示例介绍如何以不同格式输入Windows弹性云主机的脚本,并查看脚本的运行结果。

示例一:Batch批处理程序

创建弹性云主机时,选择“文本”形式并输入自定义用户数据脚本,脚本如下:

rem cmd

echo "Hello, BAT Test" > C:\1111.txt

创建成功后,连接并启动弹性云主机,查看脚本的运行结果:在C:\盘添加了一个名称为 “1111” 的文本文档,如图3所示。

天翼云- 用户数据注入 第3张

如需查看注入Windows弹性云主机的用户数据,可以在浏览器访问:http://169.254.169.254/openstack/latest/user_data,如下图所示。

天翼云- 用户数据注入 第4张

示例二:PowerShell脚本

创建弹性云主机时,选择“文本”形式并输入自定义用户数据脚本,脚本如下:

#ps1

echo "Hello, Powershell Test" > C:\aaaa.txt

创建成功后,连接并启动弹性云主机,查看脚本的运行结果:在C:\盘添加了一个名称为 “aaaa” 的文本文档。

 天翼云- 用户数据注入 第5张

标签: 天翼云 云服务器

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~