Microsoft Azure 上的自定义数据和 Cloud-Init

http://blog.csdn.net/azurechina/article/details/27106071

自定义数据是什么?

客户经常询问如何才能在配置Microsoft Azure 虚拟机时插入脚本或其他元数据。在其他云中,这个概念通常称为用户数据。MicrosoftAzure 中也有一项类似的功能,我们称之为自定义数据

自定义数据随其他配置信息(例如新的主机名、用户名、密码、证书和密钥等)一起发送到 VM。这类数据经过base64 编码后传递给 Azure API。在 Windows 上,自定义数据最终作为二进制文件保存在%SYSTEMDRIVE%\AzureData\CustomData.bin 中。在 Linux 上,自定义数据在创建虚拟机时被复制到/var/lib/waagent 目录的 ovf-env.xml 文件。为了方便起见,更高版本的Microsoft Azure Linux 代理同样会将base64编码后的数据复制到 /var/lib/waagent/CustomData

Cloud-Init 是什么?      

目前,只有Microsoft Azure 库中的Ubuntu 镜像预安装了cloud-init,并设置为处理在虚拟机创建期间发送的自定义数据。这意味着,对于Ubuntu,您可以借助cloud-init 配置文件使用自定义数据对VM 进行创建,或只发送 cloud-init 将在创建时执行的脚本。有关详细信息,请参阅 cloud-init 文档

如果镜像上不能使用cloud-init,您仍可以使用预安装脚本时提供的自定义数据或者系统上可以读取数据的其他工具。在这种情况下,可能会安装可在自定义数据中通过 %SYSTEMDRIVE%\AzureData\CustomData.bin (Windows) 或/var/lib/waagent/ovf-env.xml (Linux) 文件读取的脚本,启动时运行该脚本并解码,使其作用于自定义数据。安装脚本后,可以取消配置 Windows 或 Linux 镜像,捕获此镜像以供重复使用。

工作原理

目前,向 IaaS VM 插入自定义数据最简单的方式就是使用 Windows Azure 命令行工具。目前,Microsoft Azure Powershell cmdlet尚不支持此功能,但很快就会在即将发行的版本中推出。

自 CLI 工具 0.7.5 版起,出现了一个称为 --custom-data 的新参数。此参数将文件名视作参数,然后 CLI 工具会使用 base64 对文件内容进行编码,并将其与配置信息一起发送。此处唯一的限制就是文件必须小于 64KB,否则AzureAPI 将不会接受请求。

以下是如何向 UbuntuLinux VM 准备和传递自定义数据的简单示例:

在此示例中,custom-data.txt可以是cloud-init 配置文件,也可以只是一个shell 脚本(只要以#! 开头,cloud-init就会执行)。试试看吧。

其他参考:

http://msdn.microsoft.com/en-us/library/windowsazure/jj157186.aspx

本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2014/04/21/custom-data-and-cloud-init-on-windows-azure.aspx

时间: 2024-10-02 12:38:26

Microsoft Azure 上的自定义数据和 Cloud-Init的相关文章

使用Microsoft Azure Backup恢复Hyper-V数据

在实际环境中经常会出现这样一种场景,由于误操作或者计划外的任务导致相关数据丢失从而造成企业损失,在上一篇文章中谈到了适应Microsoft Azure Backup备份Hyper-V数据,今天主要演示当造成企业数据丢失后,如何通过Microsoft Azure Backup恢复之前备份的数据,从而降低企业损失. 1.登陆Azure门户网站查看之前备份的数据,确认备份的数据依然存在 2.登陆服务器"SH-VMHost-01",打开Azure Backup或者Windows Server

Microsoft Azure Remoteapp使用自定义镜像创建桌面服务

继续来Azure RemoteApp,上一次利用自带的模板小测了一下Azure的RemoteApp.但是默认模板有很多局限性,比如没办法自定义安装APP.不过Azure中提供了上传自定义模板的功能,下面就来看看自定义模板的上传过程. 打开RemoteApp面板,选择Template Images,打开Upload a Template Image. 选择地区和命名后,还需要安装Azure Powershell,打开上方的链接下载web安装程序进行自动安装. 下一步后下载上传脚本. 接下来准备我们

Microsoft Azure News(2) 在Microsoft Azure上运行SAP应用程序

<Windows Azure Platform 系列文章目录> 2014年6月27日消息,在 Microsoft Azure 上提供 SAP Business Suite 软件.All-In-One 解决方案.SAP 移动平台.SAP Adaptive Server Enterprise 以及开发版 SAP HANA 平台.微软称,他们也将为客户和开发者提供快速部署 SAP 方案的工具,数分钟就可以在 Azure 上部署预配置 SAP 方案. 微软和 SAP 也会加强数据访问和互操作性,包括微

使用Microsoft Azure Backup备份Hyper-V数据

在之前的文章中讲到了微软的云计算备份解决方案-Microsoft Azure Backup,通过技术可以备份Azure中的VM以及企业内部的Hyper-V.关于Microsoft Azure Backup可参见之前写的文章<Microsoft Azure Backup介绍>: http://ericxuting.blog.51cto.com/8995534/1641104 今天主要为大家带来如何通过Azure Backup备份企业内部Hyper-V数据.(PS:本文档基于国际版Azure,由世

在世纪互联版的Microsoft Azure上做windows虚拟机的批量部署--用powershell做部署

在Azure上我们有两种部署方法:资源管理器(ARM)和用powershell部署,也就是我们常说的,经典模型.截至2016/4/6,世纪互联版本的Azure 还没有ARM,需要用powershell做批量虚拟机部署. 如果需要批量建立VM,通过portal一台一台的加上去,无疑,是件很傻很傻的事情.这时候就要用到powershell啦. 第一步,你得先有个Microsoft powershell.顺道登陆到你的Azure 订阅,这里步骤就不详细写出了. 键入:Get-AzurePublishS

Windows Azure上的大数据服务: HDInsight的介绍

这个视频介绍了目前非常流行的大数据处理框架Hadoop的Windows Azure上的实现:HDInsight,以及利用MapReduce来对大数据进行分析,利用Hive进行查询,利用客户端PowerBI, PowerQuery对结果进行展示等过程. 讲的通俗易懂,实乃Hadoop大数据处理最佳入门:) http://channel9.msdn.com/Series/MVA-China-2/dataservices-20140918-2-5

美化Windows Mobile上的自定义数据表

前段时间做实验室项目,需要以报表的形式将数据展示给用户.首先想到的是visual studio自带的listview,用起来是比较方便,可是看着不美观,说白了,就是吸引力不够.于是,我想到了使用Alpha Blend来做一个半透明效果的表格.因为在今年2月份的时候,Alex Yakhnin做了一次名为<24 Hours of Windows Mobile Application Development: Creating Compelling and Attractive UIs for Win

云计算与数据科学:Microsoft Azure 机器学习与R 简介

通过易于使用的强大的基于云技术的数据处理与机器学习工具,微软Azure机器学习平台 (Azure ML)极大地简化了机器学习模型的开发和部署. O'Reilly 发布的技术文档 < Data Science in the Cloud with Microsoft Azure Machine Learning and R >介绍了基于Microsoft Azure 机器学子平台 数据操作.建模.模型评估等方面的内容. 该文档利用 R 语言深入探讨了Azure机器学习平台.(另一篇使用 Pytho

通过Microsoft Azure服务设计网络架构的经验分享(转)

原文:http://www.infoq.com/cn/articles/azure-networking-tips 本文从产品设计和架构角度分享了 Microsoft Azure 网络服务方面的使用经验,希望你在阅读本文之后能够了解这些服务之间,从而更好地设计你的架构. Microsoft Azure 的网络架构特别针对企业私有云和混合云进行了设计,其中包含三个常用的服务: 虚拟网络(Virtual Network):连接本地网络与云端基础设施 流量管理器(Traffic Manager):将用