更新 Azure Stack Hub 中的市场项

作为云作员,你的职责之一是更新 Azure Stack Hub 市场。 当 Azure 中提供了新版本的市场项时,可以下载较新版本以利用新功能、安全修补程序和稳定性改进。

有四种市场商品。

  • 虚拟机映像
  • 插件
  • 解决方案模板
  • 资源提供者

当用户部署新资源时,将自动使用新的虚拟机(VM)映像、扩展和解决方案模板。 资源提供程序使用 Azure Stack Hub 更新流程,本文未予涵盖。

更新已部署的 VM 中的扩展需要其他步骤。

检索新版本

下载新版本市场项的过程与市场项的初始下载过程相同。

  1. 首先,使用管理员门户检查 Azure Stack Hub 市场中已下载的市场项的版本。

    检查 Azure Stack Hub 市场中的版本信息。

  2. 对于已连接或已断开连接的系统,请按照将市场项下载到 Azure Stack Hub 中的说明来下载新的市场项。 仅下载有新版本的市场项。

更新已部署的扩展

作员下载新版本的扩展后,用户必须执行以下两项作之一,以确保应用新版本。

  1. 重启 VM。 启动 VM 时,扩展会自动更新。 这可以在 Azure Stack Hub 用户门户或 PowerShell 中完成。
  2. 使用 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

注释

更新扩展可能需要几分钟时间。 可以安全地运行第一个命令,检查版本是否已更新。

最近更新的扩展列表

名称 发布者 TypeHandlerVersion 扩展类型
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 市场概述