Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文介绍如何使用 Azure CLI(Windows 或 Linux)在已启用 Azure Arc 的服务器上部署、升级、更新和卸载虚拟机(VM)扩展。
扩展部署先决条件
查看 扩展表中引用的每个 VM 扩展 的文档,以了解其网络和系统要求,这些要求超出了已启用 Arc 的服务器 常规先决条件 和已启用 Arc 的服务器 的网络要求 。 此操作可以帮助避免 Azure 服务或者依赖于该 VM 扩展的功能出现任何连接问题。
若要将扩展部署到已启用 Azure Arc 的服务器,用户需要以下权限:
microsoft.hybridcompute/machines/readmicrosoft.hybridcompute/machines/extensions/readmicrosoft.hybridcompute/machines/extensions/write
Azure Connected Machine 资源管理员角色包括部署扩展所需的权限。 它还包括删除已启用 Azure Arc 的服务器资源的权限。
安装了一个或多个 VM 扩展的已启用 Azure Arc 的服务器可以在资源组之间或另一个 Azure 订阅之间移动,而不会对其配置产生任何影响。 源范围与目标范围必须在同一个 Microsoft Entra 租户中。 有关在处理之前移动资源和注意事项的详细信息,请参阅将资源移到新的资源组或订阅。
先决条件
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
在 Azure CLI 中安装 Connected Machine 扩展
这些 ConnectedMachine 命令未作为 Azure CLI(Windows 或 Linux)的一部分提供。 在使用 Azure CLI(Windows 或 Linux)连接到由世纪互联运营的 Azure 并管理启用 Arc 的服务器上的 VM 扩展之前,您需要加载该ConnectedMachine扩展。
可以从工作站执行这些管理作,而不是在已启用 Azure Arc 的服务器上执行这些管理作。
运行以下命令以安装 Azure CLI ConnectedMachine 扩展:
az extension add --name connectedmachine
启用扩展
若要在已启用 Azure Arc 的服务器上启用 VM 扩展,请将 az connectedmachine extension create 与 --machine-name、--extension-name、--location、--type、settings 和 --publisher 参数配合使用。 可以在 相应的 Windows 或 Linux 扩展表中查看每个 VM 扩展的参数值和部署说明、支持的 OS 或其他信息。
此示例在已启用 Azure Arc 的服务器上启用自定义脚本扩展:
az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"
此示例在已启用 Azure Arc 的服务器上启用 Azure Key Vault VM 扩展:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'
此示例在已启用 Azure Arc 的 Windows 服务器上启用Microsoft反恶意软件扩展:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'
此示例在已启用 Azure Arc 的 Windows 服务器上启用 Datadog 扩展:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'
小窍门
已启用 Arc 的服务器支持许多其他扩展。 有关详细信息,请参阅 已启用 Azure Arc 的服务器的虚拟机扩展管理。
列出已安装的扩展
若要获取已启用 Azure Arc 的服务器上的 VM 扩展列表,请使用 az connectedmachine extension list,并添加参数--machine-name和--resource-group。
az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"
默认情况下,Azure CLI 命令的输出采用 JSON(JavaScript 对象表示法)格式。 例如,若要更改列表或表的默认输出,请使用 az config set core.output=table。 还可以向任何命令添加 --output 来对输出格式进行一次性更改。
以下示例显示了 az connectedmachine extension -list 命令的部分 JSON 输出:
[
{
"autoUpgradingMinorVersion": "false",
"forceUpdateTag": null,
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
"location": "regionName",
"name": "DependencyAgentWindows",
"namePropertiesInstanceViewName": "DependencyAgentWindows",
更新扩展配置
某些 VM 扩展需要进行配置设置才能安装在已启用 Azure Arc 的服务器上(如自定义脚本扩展)。 若要升级扩展的配置,请使用 az connectedmachine extension update。
下面的示例演示如何配置自定义脚本扩展:
az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"
升级扩展
受支持 VM 扩展的新版本发布后,可将该扩展升级到这一最新版本。 若要升级 VM 扩展,请将 az connectedmachine upgrade-extension 与 --machine-name、--resource-group 和 --extension-targets 参数配合使用。
对于 --extension-targets 参数,需要指定扩展以及可用的最新版本。 若要确定某个扩展的最新可用版本,请在 Azure 门户中转到选定的启用了 Azure Arc 的服务器的“扩展”页,或者运行 az vm extension image list。 可以通过提供以下两项,在单个升级请求中指定多个扩展:
- 以逗号分隔的扩展列表,通过其发布者和类型来定义(用句点分隔)
- 每个扩展的目标版本
可以通过运行命令 az connectedmachine extension list,随时查看已安装的 VM 扩展的版本。
typeHandlerVersion 属性值表示扩展的版本。
小窍门
可以为许多 VM 扩展配置 自动升级。
删除扩展
若要移除已启用 Azure Arc 的服务器中安装的 VM 扩展,请将 az connectedmachine extension delete 与 --extension-name、--machine-name 和 --resource-group 参数配合使用。
相关内容
- 使用 Azure PowerShell、 Azure 门户或 Azure 资源管理器模板部署、管理和删除 VM 扩展。
- 在VM扩展故障排除指南中找到相关信息。
- 有关命令的详细信息,请参阅 Azure CLI VM 扩展概述。