当前位置: 首页 > Microsoft Azure > 正文

Microsoft Azure VM Agent和扩展介绍与使用

VM Agent,是一个安装在Azure VM中的代理程序,Microsoft Azure 虚拟机代理(AM 代理)是受保护的轻型进程,用于管理 VM 与 Azure 结构控制器的交互。VM 代理有一个主要角色,目的是启用和执行 Azure 虚拟机扩展。VM扩展可用于对虚拟机进行部署后配置,例如安装和配置软件。 虚拟机扩展还可启用恢复功能,例如重置虚拟机的管理密码。没有Azure VM代理,虚拟机扩展将无法运行。

查看可用的扩展程序

Azure VM 代理默认安装在任何通过 Azure 库映像部署的 Windows 虚拟机上。 从门户、PowerShell、命令行接口或 Azure 资源管理器模板部署 Azure 库映像时,也会安装 Azure VM 代理。

如果没有安装也没关系,需要的话,可以手动下载安装,例如现在没有

访问如下链接下载VM Agent的msi安装程序:

http://go.microsoft.com/fwlink/?LinkID=394789&clcid=0x409

若要以自动或无人参与方式安装 VM 代理,请运行以下命令

msiexec.exe /i WindowsAzureVmAgent.2.7.1198.802.rd_art_stable.170327-1033.fre /quiet

安装完成之后,使用下面命令检测VM代理运行状态

Add-AzureRmAccount -EnvironmentName AzureChinaCloud

$vms = Get-AzureRmVM

foreach ($vm in $vms) {
$agent = $vm | Select -ExpandProperty OSProfile | Select -ExpandProperty Windowsconfiguration | Select ProvisionVMAgent
Write-Host $vm.Name $agent.ProvisionVMAgent
}

 

如果希望手动查看VM Agent状态,可以登陆Azure VM查看

为了避免重启后 VM Agent 不会自动启动,在服务管理中查看该服务是否设置为自动启动。

在Azure门户中查看

虚拟机中的 Extensions 边栏里列出了该虚拟机安装的所有扩展。诊断扩展在 Linux 系统中为 LinuxDiagnostic; 在Windows 系统中为IaaSDiagnostic。

若状态为Provisioning succeeded,则说明扩展安全成功。若是其他状态如Not Available或者Failed,则说明安装可能有问题。这时就需要排查安装问题。

VMAccess:如果您之前丢失过您的 IaaS VM 密码,密码将无法恢复。同样,如果 VM 上的 RDP 配置文件损坏,要修复该设置也并不容易。VMAccess 可以解决这两种场景下的问题。对于密码,VMAccess 提供了一种机制,可以让用户通过重置密码和用户名再次登录 VM。当可以使用重置的密码登录后,建议您更改密码。

使用Azure 门户进行重置

使用如下PowerShell脚本进行重置

$cred=Get-Credential
Set-AzureRmVMAccessExtension -ResourceGroupName “VMAgentGroup” -VMName “VMAgent” -Name “myVMAccess” -Location ChinaNorth -UserName $cred.GetNetworkCredential().Username -Password $cred.GetNetworkCredential().Password -typeHandlerVersion “2.0”

重置服务器远程桌面服务配置

Set-AzureRmVMAccessExtension -ResourceGroupName “VMAgentGroup” -VMName “VMAgent” -Name “myVMAccess” -Location ChinaNorth -typeHandlerVersion “2.0” -ForceRerun

需要注意的是,无论何时,一个VM只能有一个VM 访问代理。若要成功设置 VM 访问代理属性,可以使用-ForceRerun 选项。使用-ForceRerun时,请确保使用与前述命令使用的 VM 访问代理相同的名称。

以上都是Microsoft为Azure平台内置好了的相关VMAgent,如果需要使用第三方,或者自定义扩展程序时,该如何操作呢?

  1. Windows平台中,,现阶段可以针对 Windows 10 客户端、Windows Server 2008 R2、2012、2012 R2和2016运行适用于 Windows 的自定义脚本扩展
  2. 脚本需要存储在 Azure Blob 存储中或可通过有效 URL 访问的任何其他位置
  3. 适用于 Windows 的自定义脚本扩展要求目标虚拟机已连接到 Internet

Set-AzureRmVMCustomScriptExtension -ResourceGroupName myResourceGroup `
-VMName myVM `
-Location myLocation `
-FileUri myURL `
-Run ‘myScript.ps1’ `
-Name DemoScriptExtension

如果您的虚拟机部署模式为ARM,并且添加了大量了VM扩展程序,那么您可以直接导出,以便可以后期直接使用

Azure Resource Manager 自动化脚本生成一个 Resource Manager模板、一个参数文件以及多个示例部署脚本(例如 PowerShell Azure CLI)。目前可以使用下载按钮下载导出的模板、将其作为新模板添加到模板库,或使用部署按钮重新对其进行部署。

本文固定链接: http://365vcloud.net/2017/12/04/microsoft-azure-vm-agent-and-extensions/ | Eric的学习之路

该日志由 TingXu 于2017年12月04日发表在 Microsoft Azure 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Microsoft Azure VM Agent和扩展介绍与使用 | Eric的学习之路
关键字: