本文介绍如何为 VMware VM 安装 Azure 连接的计算机代理,这是使用 Azure 服务保护、修补、监视 VM 并利用 Azure Arc 权益(例如扩展安全更新、Windows Server 和 SQL 服务器即用即付许可以及软件证明权益)的先决条件。
在 VMware VM 上安装 Arc 代理有多种途径,可以根据部署首选项利用这些代理:
- Azure 门户
- 编程方法,例如 Azure CLI、Azure PowerShell、Azure REST API、Azure SDK、Terraform、Bicep 和 ARM 模板。 本文档存储库的参考部分包含有关确切语法的信息。
- 带外方法,例如使用服务主体、System Center Configuration Manager 脚本、System Center Configuration Manager 自定义任务序列、组策略和 Ansible playbook。
Prerequisites
在为 VMware VM 大规模安装 Arc 代理之前,请确保满足以下条件:
安装 Arc 代理
仅当 VMware 工具安装在目标计算机上时,此方法才适用。 如果未安装 VMware 工具,“启用来宾管理”操作会在门户中灰显,并且可通过带外方法安装 Arc 代理。
如果计算机共享相同的管理员凭据,管理员可以从 Azure 门户为多台计算机安装代理。
导航到 Azure Arc 中心并选择“vCenter 资源”。
选择所有目标计算机,然后选择 “在 Azure 中启用 ”选项。
选中“ 启用来宾管理 ”复选框,在所选计算机上安装 Arc 代理。 这样,可以使用 Azure 更新管理器、Azure Monitor、Microsoft Defender for Cloud、Azure Policy、Azure 自动化、更改跟踪和清单等 Azure 服务来保护、治理、修补和监视虚拟机。
如果您基于组织的网络策略在任何计算机上启用了来宾管理,请选择在您的 VMware 虚拟机中运行的 Arc 代理连接到 Azure 的方法。 可用选项包括公共终结点、代理服务器和专用终结点。
- 如果要通过代理连接 Arc 代理,请提供代理服务器详细信息。
- 若要通过专用终结点连接 Arc 代理,请按照这些步骤设置 Azure 专用链接。
注意
专用终结点连接仅适用于 Arc 代理到 Azure 的通信。 对于 Arc 资源网桥到 Azure 的连接,不支持 Azure 专用链接。
请提供计算机的管理员用户名和密码。 对于 Windows VM,该帐户必须是本地管理员组的一部分;对于 Linux VM,它必须是根帐户。
选择 “启用” 以开始在指定计算机中安装 Arc 代理。 安装完成后,运行 Arc 代理的计算机的来宾管理列将切换到“已启用”。 可以开始为这些计算机使用 Azure 服务。 这些凭据不会保留在 Azure 中。 它们用于安装 Azure Arc 代理,安装完成后被丢弃。
仅当 VMware 工具安装在目标计算机上时,此方法才适用。 如果未安装 VMware 工具,可以通过带外方法安装 Arc 代理。
可以使用使用 AzCLI 命令生成的帮助程序脚本自动安装 Arc 代理。 下载此帮助程序脚本以大规模启用 VM 并安装 Arc 代理。 在单个 ARM 部署中,帮助程序脚本可以在 200 个 VM 上启用并安装 Arc 代理。
脚本的功能
创建用于跟踪其操作的日志文件 (vmware-batch.log)。
生成指向创建的所有部署的 Azure 门户链接列表(all-deployments-<timestamp>.txt)。
创建 ARM 部署文件(vmw-dep-<timestamp>-<batch>.json)。
如果启用了来宾管理,则可以在单个 ARM 部署中最多启用 200 个 VM,否则会启用 400 个 VM。
支持以 cron 作业身份运行,以启用 vCenter 中的所有 VM。
允许向 Azure 进行服务主体身份验证,以实现自动化。
运行此脚本之前,请安装 az cli 和connectedvmware扩展。
Prerequisites
运行此脚本之前,请安装:
使用情况
将脚本下载到本地计算机。
打开 PowerShell 终端并导航到包含脚本的目录。
运行以下命令以允许脚本运行,因为脚本是未签名的脚本(如果在完成所有步骤之前关闭会话,请再次针对新会话运行此命令):Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass。
使用所需的参数运行脚本。 例如,.\arcvmware-batch-enablement.ps1 -VCenterId "<vCenterId>" -EnableGuestManagement -VMCountPerDeployment 3 -DryRun。 将<vCenterId>替换为 vCenter 的 ARM ID。
参数
VCenterId:VM 所在的 vCenter 的 ARM ID。
EnableGuestManagement:如果指定了此开关,则脚本将在 VM 上启用来宾管理。
VMCountPerDeployment:要为每个 ARM 部署启用的 VM 数。 如果启用了来宾管理,则最大值为 200,否则为 400。
DryRun:如果指定了此开关,则脚本将仅创建 ARM 部署文件。 否则,脚本还将部署 ARM 部署。
以 Cron 作业身份运行
可以使用 Windows 任务计划程序将此脚本设置为以 cron 作业身份运行。 下面是用于创建计划任务的示例脚本:
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-File "C:\Path\To\vmware-batch-enable.ps1" -VCenterId "<vCenterId>" -EnableGuestManagement -VMCountPerDeployment 3 -DryRun'
$trigger = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "EnableVMs"
将<vCenterId>替换为 vCenter 的 ARM ID。
要取消注册任务,请运行以下命令:
Unregister-ScheduledTask -TaskName "EnableVMs"
Arc 代理可以直接安装在计算机上,无需依赖 VMware 工具或 API。 按照带外方法操作,首先将计算机加入为已启用 Arc 的服务器资源,其资源类型为 Microsoft.HybridCompute/machines。 之后,执行链接到 vCenter操作,以将计算机的 Kind 属性更新为 VMware,从而启用虚拟生命周期操作。
将计算机连接为已启用 Arc 的服务器资源: 使用已启用 Arc 的服务器脚本安装 Arc 代理。
可以使用以下任何自动化方法大规模安装 Arc 代理:
将已启用 Arc 的服务器资源链接到 vCenter:以下命令会将混合计算计算机的 Kind 属性更新为VMware。 将计算机链接到 vCenter 将启用计算机上的虚拟生命周期操作和电源周期操作(启动、停止等)。
以下命令扫描属于指定订阅中 vCenter 的所有 Arc for Server 计算机,并将计算机与该 vCenter 链接。
az connectedvmware vm create-from-machines --subscription contoso-sub --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
以下命令扫描属于指定资源组中 vCenter 的所有 Arc for Server 计算机,并将计算机与该 vCenter 链接。
az connectedvmware vm create-from-machines --resource-group contoso-rg --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
以下命令可用于将单个 Arc for Server 资源链接到 vCenter。
az connectedvmware vm create-from-machines --resource-group contoso-rg --name contoso-vm --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
后续步骤