更新 Azure Stack Hub 中的市场项
云操作员的职责之一是更新 Azure Stack Hub 市场。 当 Azure 中提供了新版市场项时,可下载较新版本,以利用新功能、安全修补程序和稳定性改进。
市场项有以下四种类型:
- 虚拟机映像
- Extensions
- 解决方案模板
- 资源提供程序
当用户部署新资源时,系统自动使用新的虚拟机 (VM) 映像、扩展和解决方案模板。 资源提供程序使用 Azure Stack Hub 更新体验,本文不对资源提供程序进行介绍。
更新已部署的 VM 中的扩展需执行额外的步骤。
检索新版本
下载新版市场项的过程与初始下载市场项的过程相同。
首先,使用管理员门户在 Azure Stack Hub 市场中检查已下载的市场项的版本。
对于已连接或已断开连接的系统,请按照将市场项下载到 Azure Stack Hub 中的说明来下载新的市场项。 仅下载有新版本的市场项。
更新已部署的扩展
在操作员下载新版扩展后,用户必须执行以下两个操作之一,确保应用新的版本。
- 重启 VM。 启动 VM 时,扩展会自动更新。 可在 Azure Stack Hub 用户门户或 PowerShell 中完成此操作。
- 使用 PowerShell,在不重启的情况下更新扩展。 当无法为 VM 计划停机时间并且需要紧急更新时,这非常有用。
用户可使用以下步骤来查询 VM,列出已使用的扩展,并将已安装的扩展更新到新版本,而无需重启 VM。
运行 PowerShell cmdlet,列出所有 VM 和已安装的扩展。 在运行该 cmdlet 之前,请确保已安装适用于 Azure Stack Hub 的 PowerShell。
$VMs=Get-AzVM
Foreach($VM in $VMs)
{
Get-AzVMExtension -ResourceGroup $VM.ResourceGroupName -VMName $VM.name | ft VMName, Name, TypeHandlerVersion, Publisher, ExtensionType, Location
}
如果要列出运行特定扩展的 VM,可使用以下脚本。
$extensionname="SampleExtenionName"
$VMs=Get-AzVM
Foreach($VM in $VMs) {
$VMExtensions=Get-AzVMExtension -ResourceGroup $VM.ResourceGroupName -VMName $VM.name
$extensions=$VMExtensions.name
Foreach($Extension in $Extensions) {
if ($Extension -eq $extensionname)
{
write-host $VM.Name
}
}
}
运行 PowerShell,将扩展更新到最新版本。
Set-AzVMExtension -ResourceGroupName "SampleRG" -VMName "SampleVM" -Name "ExtensionName" -Publisher "PublisherName" -typeHandlerVersion "NewExtensionVersion" -ExtensionType SampleType -Location local
注意
更新扩展可能需要几分钟时间。 可安全地运行第一个命令,检查版本是否已更新。
最近更新的扩展的列表
名称 | Publisher | TypeHandlerVersion | ExtensionType |
---|---|---|---|
Microsoft.EnterpriseCloud.Monitoring | Microsoft.EnterpriseCloud.Monitoring | 1.14 | OmsAgentForLinux |
microsoft.linuxdiagnostic-3.1.135 | Microsoft.Azure.Diagnostics | 4.0 | LinuxDiagnostic |
注意
如果已安装以下两个扩展的任何版本:
- Azure 更新和配置管理
- 适用于 Linux 的 Azure 更新和配置管理
请确保将它们替换为“适用于 Linux 的 Azure Monitor、更新和配置管理”扩展最低版本 1.14.02。
后续步骤
有关 Azure Stack Hub 市场的详细信息,请参阅 Azure Stack Hub 市场概述。