您的位置:首页 > 其它

从本机构建Windows应用程序虚拟机映像

2016-07-25 11:28 363 查看

下图描述了总体的虚拟机映像的VHD生成,上传以及发布到 Azure 镜像市场的全过程:



具体步骤如下:

在本地计算机(Windows平台)上安装Hyper-V,并安装您所需要的虚拟机操作系统

在此操作系统上安装和配置您要发布的应用软件产品

在本地计算机上制作VHD为映像

将制作好的VHD通过PowerShell上传到Azure存储账号上,生成映像,并获取在Azure上的存储位置(url地址)

申请预发布环境,将第四步中Azure上的虚拟机映像部署到测试发布环境进行验证

正式发布,登录到Azure 镜像市场,并根据发布流程将已经测试完毕的VHD发布到 Azure 镜像市场

第一步:准备

检查操作系统版本兼容性

如操作系统为Windows,请确认所安装的Windows系统版本是Azure所支持的。

本机安装Hyper-V

确认Hyper-V在您的Windows系统中安装并可以使用。
关于Hyper-V在各版本Windows上的安装和配置,请参考: 安装Hyper-V并创建虚拟机

本机安装了PowerShell命令行工具

获取Azure的配置文件(过程中需要输入azure的账号密码),并保存到磁盘。

Get-AzurePublishSettingsFile –Environment azurechinacloud

导入账户认证信息,路径用引号(为上一步骤中的配置文件路径)。

Import-AzurePublishSettingsFile <PathToFile>


第一步完成后,即可开始制作映像,制作VHD主要包括两种方式,第一种是通过本地Hyper-V虚拟机建立VHD,第二种是直接在Azure制作VHD。以下以本地建立VHD为例进行介绍:

第二步:从本机制作Windows应用程序VHD映像
本节我们以Windows Server12为例进行介绍,Windows操作系统的VHD制作可参考英文官方文档:Create and upload a Windows Server VHD to Azure

安装Application软件。登录虚拟机,安装应用软件,并设置开启启动服务。

尝试清除虚拟机系统并使其适用于重新配置,并关机。
打开终端窗口,进入目录, %windir%\system32\sysprep,比如C:\Windows\System32\sysprep

然后运行: sysprep.exe

此时会显示“系统准备工具”对话框。在“系统清理操作”中,选择“进入系统全新体验(OOBE)”,并确保选中“通用”。在“关机选项”中选择“关机”。单击“确定”关机。

在Hyper-v中关闭Linux,Linux VHD文件已经制作好并可以上传到Azure。

第三步:将VHD上传至Azure
用PowerShell将VHD文件上传到Azure
 
假设上传的文件是myvhd.vhd,上传存储空间是mystorage,容器是mycontainer

在Azure管理平台上建立存储位置。
假设我们的目标是将VHD文件放置到Azure上的存储空间mystorage中的容器mycontainer中,位置为myurl。
进入Azure管理平台,建立存储空间mystorage并在其下面建立容器mycontainer,然后拷贝这个容器的url位置,注意容器的属性一定要设置为“公共blob”属性,只有“公共blob”属性中的VHD映像才能够被发布到 Azure 镜像市场。

将本地的VHD文件上传至Azure的指定位置。打开PowerShell,在PowerShell中输入如下指令。

Add-AzureVhd [[-NumberOfUploaderThreads] [<Int32>]] -Destination <BlobStorageURL>/<YourImagesFolder>/<VHDName> -LocalFilePath <PathToVHDFile>

例如:

Add-AzureVhd -NumberOfUploaderThreads 5 -Destination https://mystorage.blob.core.chinacloudapi.cn/mycontainer/myvhd.vhd -LocalFilePath D:\Mydir\Hyper-V\myvhds\myvhd.vhd


生成虚拟机映像

点击“虚拟机”-“映像”-“创建”,然后选择刚才上传的vhd创建映像。至此,您已经成功完成了映像的制作和上传。下一步,便可以发布映像到 Azure 镜像市场。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: