適用于 Windows 的虛擬機(jī)擴(kuò)展和功能

Azure 虛擬機(jī)擴(kuò)展是小型應(yīng)用程序,可在Azure 虛擬機(jī)上提供部署后配置和自動(dòng)化任務(wù)慷妙。 例如眷昆,如果虛擬機(jī)要求安裝軟件、防病毒保護(hù)或進(jìn)行 Docker 配置弟孟,便可以使用 VM 擴(kuò)展來完成這些任務(wù)贝咙。 可以使用 Azure CLI、PowerShell拂募、Azure Resource Manager 模板和 Azure 門戶運(yùn)行 Azure VM 擴(kuò)展庭猩。 擴(kuò)展可與新虛擬機(jī)部署捆綁在一起窟她,或者針對(duì)任何現(xiàn)有系統(tǒng)運(yùn)行。

本文檔提供虛擬機(jī)擴(kuò)展的概述蔼水、使用虛擬機(jī)擴(kuò)展的先決條件震糖,以及有關(guān)如何檢測(cè)、管理和刪除虛擬機(jī)擴(kuò)展的指南趴腋。 由于有許多 VM 擴(kuò)展可用吊说,每個(gè)擴(kuò)展可能具有唯一的配置,因此本文檔提供通用信息优炬。 擴(kuò)展特定的詳細(xì)信息可在每個(gè)特定于單個(gè)擴(kuò)展的文檔中找到颁井。

用例和示例

有許多不同的 Azure VM 擴(kuò)展可用,每個(gè)都有特定用例蠢护。 一些示例用例包括:

使用適用于 Windows 的 DSC 擴(kuò)展將 PowerShell 所需狀態(tài)配置應(yīng)用于虛擬機(jī)雅宾。 有關(guān)詳細(xì)信息,請(qǐng)參閱Azure Desired State configuration extension(Azure Desired State Configuration 擴(kuò)展)葵硕。

使用 Datadog 擴(kuò)展配置 Azure 基礎(chǔ)結(jié)構(gòu)監(jiān)視功能秀又。 有關(guān)詳細(xì)信息,請(qǐng)參閱Datadog 博客贬芥。

使用 Chef 配置 Azure 虛擬機(jī)吐辙。 有關(guān)詳細(xì)信息,請(qǐng)參閱使用 Chef 自動(dòng)執(zhí)行 Azure 虛擬機(jī)部署蘸劈。

除了進(jìn)程特定的擴(kuò)展外昏苏,自定義腳本擴(kuò)展也可用于 Windows 和 Linux 虛擬機(jī)。 適用于 Windows 的自定義腳本擴(kuò)展允許在虛擬機(jī)上運(yùn)行任何 PowerShell 腳本威沫。 在設(shè)計(jì)需要本機(jī) Azure 工具無法提供的配置的 Azure 部署時(shí)贤惯,這很有用。 有關(guān)詳細(xì)信息棒掠,請(qǐng)參閱Windows VM 自定義腳本擴(kuò)展孵构。

先決條件

每個(gè)虛擬機(jī)擴(kuò)展可能都有其自己的一組先決條件。 例如烟很,Docker VM 擴(kuò)展有支持的 Linux 分發(fā)的先決條件颈墅。 特定于擴(kuò)展的文檔中詳細(xì)介紹了單個(gè)擴(kuò)展的要求。

Azure VM 代理

Azure VM 代理可管理 Azure 虛擬機(jī)與 Azure 結(jié)構(gòu)控制器之間的交互雾袱。 VM 代理負(fù)責(zé)部署和管理 Azure 虛擬機(jī)的許多功能層面恤筛,包括運(yùn)行 VM 擴(kuò)展。 Azure VM 代理預(yù)先安裝在 Azure 應(yīng)用商店映像上芹橡,并可安裝在支持的操作系統(tǒng)上毒坛。

有關(guān)受支持的操作系統(tǒng)以及安裝說明的信息,請(qǐng)參閱Azure 虛擬機(jī)代理

發(fā)現(xiàn) VM 擴(kuò)展

有許多不同的 VM 擴(kuò)展可與 Azure 虛擬機(jī)配合使用煎殷。 若要查看完整列表屯伞,請(qǐng)使用 Azure Resource Manager PowerShell 模塊運(yùn)行以下命令。 運(yùn)行此命令時(shí)請(qǐng)確保指定所需的位置豪直。

PowerShell復(fù)制

Get-AzureRmVmImagePublisher-LocationChinaNorth | `Get-AzureRmVMExtensionImageType| `Get-AzureRmVMExtensionImage| Select Type, Version

運(yùn)行 VM 擴(kuò)展

Azure 虛擬機(jī)擴(kuò)展可以在現(xiàn)有虛擬機(jī)上運(yùn)行劣摇,當(dāng)需要在已部署的 VM 上進(jìn)行配置更改或恢復(fù)連接時(shí),這很有用顶伞。 VM 擴(kuò)展還可以與 Azure Resource Manager 模板部署捆綁饵撑。 在 Resource Manager 模板中使用擴(kuò)展剑梳,可以在不進(jìn)行部署后干預(yù)的情況下部署和配置 Azure 虛擬機(jī)唆貌。

可使用以下方法針對(duì)現(xiàn)有虛擬機(jī)運(yùn)行擴(kuò)展。

PowerShell

存在多個(gè)用于運(yùn)行單個(gè)擴(kuò)展的 PowerShell 命令垢乙。 若要查看列表锨咙,請(qǐng)運(yùn)行以下 PowerShell 命令。

PowerShell復(fù)制

get-commandSet-AzureRM*Extension*-ModuleAzureRM.Compute

此命令的輸出如下所示:

PowerShell復(fù)制

CommandType? ? Name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Version? ? Source----------------------------CmdletSet-AzureRmVMAccessExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMADDomainExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMAEMExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMBackupExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMBginfoExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMChefExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMCustomScriptExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMDiagnosticsExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMDiskEncryptionExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMDscExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMExtension2.2.0AzureRM.ComputeCmdletSet-AzureRmVMSqlServerExtension2.2.0AzureRM.Compute

以下示例使用自定義腳本擴(kuò)展從 GitHub 存儲(chǔ)庫將腳本下載到目標(biāo)虛擬機(jī)上追逮,并運(yùn)行該腳本酪刀。 有關(guān)自定義腳本擴(kuò)展的詳細(xì)信息,請(qǐng)參閱自定義腳本擴(kuò)展概述钮孵。

PowerShell復(fù)制

Set-AzureRmVMCustomScriptExtension-ResourceGroupName"myResourceGroup"`-VMName"myVM"-Name"myCustomScript"`-FileUri"https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1"`-Run"Create-File.ps1"-Location"China North"

在此示例中骂倘,VM 訪問擴(kuò)展用于重置 Windows 虛擬機(jī)的管理密碼。 有關(guān) VM 訪問擴(kuò)展的詳細(xì)信息巴席,請(qǐng)參閱重置 Windows VM 中的遠(yuǎn)程桌面服務(wù)历涝。

PowerShell復(fù)制

$cred=Get-CredentialSet-AzureRmVMAccessExtension-ResourceGroupName"myResourceGroup"-VMName"myVM"-Name"myVMAccess"`-LocationChinaNorth-UserName$cred.GetNetworkCredential().Username `-Password$cred.GetNetworkCredential().Password-typeHandlerVersion"2.0"

Set-AzureRmVMExtension命令可用于啟動(dòng)任何 VM 擴(kuò)展。 有關(guān)詳細(xì)信息漾唉,請(qǐng)參閱Set-AzureRmVMExtension 參考荧库。

Azure 門戶

可通過 Azure 門戶將 VM 擴(kuò)展應(yīng)用到現(xiàn)有虛擬機(jī)。 為此赵刑,請(qǐng)選擇要使用的虛擬機(jī)分衫,選擇“擴(kuò)展”,然后單擊“添加”般此。 這會(huì)提供可用擴(kuò)展的列表蚪战。 選擇所需的擴(kuò)展,并按照向?qū)е械牟襟E進(jìn)行操作铐懊。

下圖顯示了從 Azure 門戶安裝 Microsoft 反惡意軟件擴(kuò)展屎勘。

Azure Resource Manager 模板

VM 擴(kuò)展可添加到 Azure Resource Manager 模板,并在部署模板的過程中執(zhí)行居扒。 使用模板部署擴(kuò)展對(duì)于創(chuàng)建完全配置的 Azure 部署很有用概漱。 例如,以下 JSON 取自一個(gè) Resource Manager 模板喜喂,該模板將在每個(gè) VM 上部署一組負(fù)載均衡虛擬機(jī)和一個(gè) Azure SQL 數(shù)據(jù)庫瓤摧,并安裝一個(gè) .NET Core 應(yīng)用程序竿裂。 VM 擴(kuò)展負(fù)責(zé)安裝軟件。

有關(guān)詳細(xì)信息照弥,請(qǐng)參閱完整的Resource Manager 模板腻异。

JSON復(fù)制

{"apiVersion":"2015-06-15","type":"extensions","name":"config-app","location":"[resourceGroup().location]","dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]","[variables('musicstoresqlName')]"],"tags": {"displayName":"config-app"},"properties": {"publisher":"Microsoft.Compute","type":"CustomScriptExtension","typeHandlerVersion":"1.4","autoUpgradeMinorVersion":true,"settings": {"fileUris": ["https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"]? ? },"protectedSettings": {"commandToExecute":"[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.chinacloudapi.cn')]"}? ? }}

有關(guān)詳細(xì)信息,請(qǐng)參閱使用 Windows VM 擴(kuò)展創(chuàng)作 Azure Resource Manager 模板这揣。

保護(hù) VM 擴(kuò)展數(shù)據(jù)

運(yùn)行 VM 擴(kuò)展時(shí)悔常,可能需要提供敏感信息,例如憑據(jù)给赞、存儲(chǔ)帳戶名稱和存儲(chǔ)帳戶訪問密鑰机打。 許多 VM 擴(kuò)展包括用于對(duì)數(shù)據(jù)進(jìn)行加密,并且僅在目標(biāo)虛擬機(jī)內(nèi)對(duì)數(shù)據(jù)進(jìn)行解密的受保護(hù)配置片迅。 每個(gè)擴(kuò)展都有特定的受保護(hù)配置架構(gòu)残邀,在特定于擴(kuò)展的文檔中會(huì)詳細(xì)介紹此架構(gòu)。

以下示例顯示適用于 Windows 的自定義腳本擴(kuò)展的實(shí)例柑蛇。 請(qǐng)注意芥挣,要執(zhí)行的命令包含一組憑據(jù)。 在此示例中耻台,不會(huì)加密要執(zhí)行的命令空免。

JSON復(fù)制

{"apiVersion":"2015-06-15","type":"extensions","name":"config-app","location":"[resourceGroup().location]","dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]","[variables('musicstoresqlName')]"],"tags": {"displayName":"config-app"},"properties": {"publisher":"Microsoft.Compute","type":"CustomScriptExtension","typeHandlerVersion":"1.4","autoUpgradeMinorVersion":true,"settings": {"fileUris": ["https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"],"commandToExecute":"[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.chinacloudapi.cn')]"}? ? }}

要執(zhí)行的命令屬性移動(dòng)到受保護(hù)的配置,以保護(hù)執(zhí)行字符串盆耽。

JSON復(fù)制

{"apiVersion":"2015-06-15","type":"extensions","name":"config-app","location":"[resourceGroup().location]","dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]","[variables('musicstoresqlName')]"],"tags": {"displayName":"config-app"},"properties": {"publisher":"Microsoft.Compute","type":"CustomScriptExtension","typeHandlerVersion":"1.4","autoUpgradeMinorVersion":true,"settings": {"fileUris": ["https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"]? ? },"protectedSettings": {"commandToExecute":"[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.chinacloudapi.cn')]"}? ? }}

排查 VM 擴(kuò)展的問題

每個(gè) VM 擴(kuò)展都有特定的故障排除步驟蹋砚。 例如,使用自定義腳本擴(kuò)展時(shí)征字,可在運(yùn)行該擴(kuò)展的本地虛擬機(jī)上找到腳本執(zhí)行詳細(xì)信息都弹。 任何特定于擴(kuò)展的故障排除步驟均在特定于擴(kuò)展的文檔中詳細(xì)說明。

以下故障排除步驟適用于所有虛擬機(jī)擴(kuò)展匙姜。

查看擴(kuò)展?fàn)顟B(tài)

針對(duì)虛擬機(jī)運(yùn)行虛擬機(jī)擴(kuò)展后畅厢,使用以下 PowerShell 命令返回?cái)U(kuò)展?fàn)顟B(tài)。 請(qǐng)將示例參數(shù)名稱替換成自己的值氮昧。Name參數(shù)采用執(zhí)行時(shí)提供給擴(kuò)展的名稱框杜。

PowerShell復(fù)制

Get-AzureRmVMExtension-ResourceGroupNamemyResourceGroup-VMNamemyVM-NamemyExtensionName

輸出如下所示:

JSON復(fù)制

ResourceGroupName? ? ? : myResourceGroupVMName? ? ? ? ? ? ? ? ? : myVMName? ? ? ? ? ? ? ? ? ? : myExtensionNameLocation? ? ? ? ? ? ? ? : chinanorthEtag? ? ? ? ? ? ? ? ? ? :nullPublisher? ? ? ? ? ? ? : Microsoft.Azure.ExtensionsExtensionType? ? ? ? ? : DockerExtensionTypeHandlerVersion? ? ? :1.0Id? ? ? ? ? ? ? ? ? ? ? : /subscriptions/mySubscriptionIS/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/myExtensionNamePublicSettings? ? ? ? ? :ProtectedSettings? ? ? :ProvisioningState? ? ? : SucceededStatuses? ? ? ? ? ? ? ? :SubStatuses? ? ? ? ? ? :AutoUpgradeMinorVersion : FalseForceUpdateTag? ? ? ? ? :

此外,還可以在 Azure 門戶中找到擴(kuò)展執(zhí)行狀態(tài)袖肥。 如果要查看擴(kuò)展的狀態(tài)咪辱,請(qǐng)選擇虛擬機(jī),選擇“擴(kuò)展” 椎组,并選擇所需的擴(kuò)展油狂。

重新運(yùn)行 VM 擴(kuò)展

在某些情況下,可能需要重新運(yùn)行虛擬機(jī)擴(kuò)展。 可以通過刪除擴(kuò)展专筷,并使用所選執(zhí)行方法重新運(yùn)行擴(kuò)展來執(zhí)行此操作弱贼。 若要?jiǎng)h除擴(kuò)展,請(qǐng)使用 Azure PowerShell 模塊運(yùn)行以下命令磷蛹。 請(qǐng)將示例參數(shù)名稱替換成自己的值吮旅。

PowerShell復(fù)制

Remove-AzureRmVMExtension-ResourceGroupNamemyResourceGroup-VMNamemyVM-NamemyExtensionName

此外,還可以使用 Azure 門戶刪除擴(kuò)展味咳。 為此庇勃,請(qǐng)執(zhí)行以下操作:

選擇虛擬機(jī)。

選擇“擴(kuò)展” 槽驶。

選擇所需的擴(kuò)展责嚷。

選擇“卸載” 。

常見 VM 擴(kuò)展參考

擴(kuò)展名稱說明詳細(xì)信息

適用于 Windows 的自定義腳本擴(kuò)展針對(duì) Azure 虛擬機(jī)運(yùn)行腳本適用于 Windows 的自定義腳本擴(kuò)展

適用于 Windows 的 DSC 擴(kuò)展PowerShell DSC (Desired State Configuration) 擴(kuò)展適用于 Windows 的 DSC 擴(kuò)展

Azure 診斷擴(kuò)展管理 Azure 診斷Azure 診斷擴(kuò)展

Azure VM 訪問擴(kuò)展管理用戶和憑據(jù)適用于 Linux 的 VM 訪問擴(kuò)展

立即訪問http://market.azure.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捺檬,一起剝皮案震驚了整個(gè)濱河市再层,隨后出現(xiàn)的幾起案子贸铜,更是在濱河造成了極大的恐慌堡纬,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒿秦,死亡現(xiàn)場(chǎng)離奇詭異烤镐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)棍鳖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門炮叶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人渡处,你說我怎么就攤上這事镜悉。” “怎么了医瘫?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵侣肄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我醇份,道長(zhǎng)稼锅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任僚纷,我火速辦了婚禮矩距,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怖竭。我一直安慰自己锥债,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哮肚,像睡著了一般毅整。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绽左,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天悼嫉,我揣著相機(jī)與錄音,去河邊找鬼拼窥。 笑死戏蔑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鲁纠。 我是一名探鬼主播总棵,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼改含!你這毒婦竟也來了情龄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤捍壤,失蹤者是張志新(化名)和其女友劉穎骤视,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹃觉,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡专酗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盗扇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祷肯。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖疗隶,靈堂內(nèi)的尸體忽然破棺而出佑笋,到底是詐尸還是另有隱情,我是刑警寧澤斑鼻,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布蒋纬,位于F島的核電站,受9級(jí)特大地震影響卵沉,放射性物質(zhì)發(fā)生泄漏颠锉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一史汗、第九天 我趴在偏房一處隱蔽的房頂上張望琼掠。 院中可真熱鬧,春花似錦停撞、人聲如沸瓷蛙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艰猬。三九已至横堡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冠桃,已是汗流浹背命贴。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留食听,地道東北人胸蛛。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像樱报,于是被迫代替她去往敵國(guó)和親葬项。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容