博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Microsoft Azure 上的自定义数据和 Cloud-Init
阅读量:5736 次
发布时间:2019-06-18

本文共 1243 字,大约阅读时间需要 4 分钟。



自定义数据是什么?

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

工作原理

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

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

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

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

其他参考:

本文翻译自

 

转载于:https://www.cnblogs.com/wuwa/p/6191952.html

你可能感兴趣的文章
网易有道 IP地址、手机号码归属地和身份证 查询接口API
查看>>
鼠标停留在GridView某一行时行的颜色改变
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
关于批处理-1
查看>>
Tomcat部署Web应用方法总结
查看>>
Python3 django2.0 字段加密 解密 AES
查看>>
CCNA实验之:网络地址转换(NAT)实验
查看>>
计算机网络原理笔记-停止等待协议
查看>>
确定当前记录和下一条记录之间相差的天数
查看>>
sql语句返回主键SCOPE_IDENTITY()
查看>>
机器学习开源项目精选TOP30
查看>>
代码分析系列 内存执行过程
查看>>
iOS开发-邮件发送
查看>>
/etc/resolv.conf文件详解
查看>>
【转】VC的MFC中重绘函数的使用总结(整理)
查看>>
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
查看>>