共用方式為

使用 PowerShell 将混合计算机连接到 Azure

可使用 PowerShell cmdlet Connect-AzConnectedMachine 下载 Connected Machine Agent,安装该代理,并将计算机注册到 Azure Arc。该 cmdlet 将从下载中心下载 Windows 代理包 (Windows Installer),并从 Microsoft 包存储库下载 Linux 代理包。

本文指导你直接在目标计算机上安装代理,或者使用 PowerShell 远程处理从另一个系统远程部署代理。

在开始之前,请查看先决条件,并验证你的订阅和资源是否符合要求。 有关支持的区域和其他相关注意事项的信息,请参阅 支持的 Azure 区域

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

先决条件

  • 想要使用 PowerShell 连接到由世纪互联 Arc 运营的 Azure 的 Windows 或 Linux 计算机。 该 Az.ConnectedMachine 模块支持管理 Windows 和 Linux 计算机。

  • 计算机上用于安装和配置代理的管理员权限。 在 Linux 上,需使用 root 帐户;在 Windows 上,你需是“本地管理员组”的成员。

  • Azure PowerShell 部署到目标机器上。 有关说明,请参阅安装和配置 Azure PowerShell

    使用 PowerShell 管理由已启用 Azure Arc 的服务器管理的混合计算机上的 VM 扩展。 在使用 PowerShell 之前,请在要启用 Arc 的计算机上安装模块 Az.ConnectedMachine 。 在启用了 Azure Arc 的计算机上运行以下命令:

    Install-Module -Name Az.ConnectedMachine
    

安装代理并连接到 Azure

完成以下步骤,直接在计算机上安装代理。

  1. 使用提升的权限打开 PowerShell 控制台。

  2. 运行命令 Connect-AzAccount -Environment AzureChinaCloud 登录到 Azure。

  3. 若要安装 Connected Machine Agent,请将 Connect-AzConnectedMachine-Name-ResourceGroupName-Location 参数配合使用。 使用 -SubscriptionId 参数可替代默认订阅(登录后创建的 Azure 上下文的结果)。 运行下列命令之一:

    • 若要在可以直接与 Azure 通信的目标计算机上安装 Connected Machine Agent,请运行:

      Connect-AzConnectedMachine -ResourceGroupName myResourceGroup -Name myMachineName -Location <region>
      
    • 若要在通过代理服务器通信的目标计算机上安装 Connected Machine Agent,请运行:

      Connect-AzConnectedMachine -ResourceGroupName myResourceGroup -Name myMachineName -Location <region> -Proxy http://<proxyURL>:<proxyport>
      

      代理使用此配置并使用 HTTP 协议通过代理服务器进行通信。

如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 在 Windows 上检查以下文件: %ProgramData%\AzureConnectedMachineAgent\Log\himds.log。 在 Linux 上检查以下文件: /var/opt/azcmagent/log/himds.log

使用 PowerShell 远程处理进行安装和连接

完成以下步骤,使用 PowerShell 远程处理在远程系统上安装代理。

注释

若要从已启用 Azure Arc 的计算机配置 Windows 服务器,请通过运行 Enable-PSRemoting cmdlet 在每台目标服务器上启用 PowerShell 远程处理。

  1. 以管理员身份打开 PowerShell 控制台。

  2. 运行命令 Connect-AzAccount -Environment AzureChinaCloud 登录到 Azure。

  3. 若要安装 Connected Machine Agent,请将 Connect-AzConnectedMachine-ResourceGroupName-Location 参数配合使用。 Azure 资源名称将自动使用每个服务器的主机名。 使用 -SubscriptionId 参数可替代默认订阅(登录后创建的 Azure 上下文的结果)。

    • 若要在可以直接与 Azure 通信的目标计算机上安装 Connected Machine 代理,请运行以下命令:

      $sessions = New-PSSession -ComputerName myMachineName
      Connect-AzConnectedMachine -ResourceGroupName myResourceGroup -Location <region> -PSSession $sessions
      
    • 若要同时在多个远程计算机上安装 Connected Machine Agent,请添加远程计算机名列表,并以逗号分隔每个计算机名。

      $sessions = New-PSSession -ComputerName myMachineName1, myMachineName2, myMachineName3
      Connect-AzConnectedMachine -ResourceGroupName myResourceGroup -Location <region> -PSSession $sessions
      

    以下示例显示了针对单个计算机运行该命令的结果:

    time="2020-08-07T13:13:25-07:00" level=info msg="Onboarding Machine. It usually takes a few minutes to complete. Sometimes it may take longer depending on network and server load status."
    time="2020-08-07T13:13:25-07:00" level=info msg="Check network connectivity to all endpoints..."
    time="2020-08-07T13:13:29-07:00" level=info msg="All endpoints are available... continue onboarding"
    time="2020-08-07T13:13:50-07:00" level=info msg="Successfully Onboarded Resource to Azure" VM Id=f65bffc7-4734-483e-b3ca-3164bfa42941
    
    Name           Location OSName   Status     ProvisioningState
    ----           -------- ------   ------     -----------------
    myMachineName  chinaeast2   windows  Connected  Succeeded
    

验证是否与 Azure Arc 连接

安装并配置要注册到已启用 Azure Arc 的服务器的代理后,转到 Azure 门户以验证是否已成功连接服务器。 在 Azure 门户中查看你的计算机。

“服务器”仪表板的屏幕截图,其中显示服务器连接成功。

后续步骤