Compartir a través de

使用部署脚本将混合计算机连接到 Azure

可以通过手动执行一组步骤,为环境中的一个或多个 Windows 或 Linux 计算机启用已启用 Azure Arc 的服务器。 或者,可以运行我们提供的模板脚本来使用自动化方法。 此脚本可以自动下载和安装两个代理。

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

先决条件

  • 这种安装和配置代理的方法要求你在计算机上拥有管理员权限。 在 Linux 上,使用根帐户,在 Windows 上,你必须是本地管理员组的成员。

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

Note

遵循最佳安全做法, 避免 使用具有 所有者 访问权限的 Azure 帐户来加入服务器。 请改用只有 Azure Connected Machine OnboardingAzure Connected Machine Resource Administrator 角色分配的帐户。 若要了解详细信息,请参阅 Azure 标识管理和访问控制安全最佳做法

从 Azure 门户生成安装脚本

使用 Azure 门户创建一个脚本,用于自动下载和安装代理,并与 Azure Arc 建立连接。若要完成该过程,请执行以下步骤:

  1. Azure 门户顶部,搜索并选择 Azure Arc

  2. 在服务菜单中,展开 “基础结构”,然后选择“ 计算机”。

  3. Azure Arc | 机器 页上,选择左上角的 + 添加

  4. 在“基本信息”页上,提供以下信息:

    1. 选择计算机的“订阅”和“资源组”

    2. “区域”下,选择要存储服务器的元数据的 Azure 区域。

    3. “操作系统” 下,选择脚本配置为在其上运行的操作系统。

    4. “连接”方法下:

      1. 选择 公共终结点专用终结点。 如果选择 “专用终结点”,可以选择现有的专用链接范围或创建新的专用链接范围。
      2. 如果要使用 代理服务器 URL,请输入代理服务器 IP 地址或计算机以格式 http://<proxyURL>:<proxyport>使用的名称和端口号。
    5. “身份验证”下,手动选择“ 对计算机进行身份验证”,然后选择“ 下一步”。

  5. “标记”下,查看建议的默认 物理位置标记 并输入值,或指定一个或多个 自定义标记 来支持标准。

  6. 选择“下一步”。

  7. “下载并运行脚本”下,查看摘要信息。 如果需要进行更改,请选择 “上一页 ”并进行必要的编辑。

  8. 选择“ 下载”,然后选择“ 关闭”。

对于 Windows,你会被提示保存 OnboardingScript.ps1,而对于 Linux,你会保存 OnboardingScript.sh 到计算机。

在 Windows 上安装代理

可以运行 Windows Installer 包 AzureConnectedMachineAgent.msi 来手动安装 Connected Machine 代理。 可以从 Microsoft 下载中心下载最新版本的 Windows 代理 Windows Installer 包

Note

  • 若要安装或卸载代理,必须拥有“管理员”权限。
  • 必须先下载安装程序包并将其复制到目标服务器上的文件夹,或者从共享网络文件夹下载并复制。 如果在没有任何选项的情况下运行安装程序包,则会启动安装向导,你可以按照该向导以交互方式安装代理。

如果计算机需要通过代理服务器与服务通信,请在安装代理后运行以下步骤中所述的命令。 此命令将设置代理服务器系统环境变量 https_proxy。 使用此配置时,代理将使用 HTTP 协议通过代理服务器进行通信。

如果不熟悉 Windows Installer 包的命令行选项,请查看 Msiexec 标准命令行选项Msiexec 命令行选项

例如,若要查看帮助和快速参考选项,请运行包含 /? 参数的安装程序。

msiexec.exe /i AzureConnectedMachineAgent.msi /?
  1. 若要以无提示方式安装代理并在文件夹中创建安装程序日志文件 C:\Support\Logs ,请运行以下命令。

    msiexec.exe /i AzureConnectedMachineAgent.msi /qn /l*v "C:\Support\Logs\Azcmagentsetup.log"
    

    如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 日志目录为 %ProgramData%\AzureConnectedMachineAgent\log。

  2. 如果计算机需要通过代理服务器进行通信,请运行以下命令来设置代理服务器环境变量。 将{proxy-url}替换为你的代理服务器地址(例如proxy.example.com),并将{proxy-port}替换为端口号(例如8080)。

    [Environment]::SetEnvironmentVariable("https_proxy", "http://{proxy-url}:{proxy-port}", "Machine")
    $env:https_proxy = [System.Environment]::GetEnvironmentVariable("https_proxy","Machine")
    # For the changes to take effect, the agent service needs to be restarted after the proxy environment variable is set.
    Restart-Service -Name HIMDS
    

    Note

    代理不支持设置代理身份验证。

    有关详细信息,请参阅配置特定于代理的代理配置

  3. 安装代理后,将其配置为与 Azure Arc 服务通信。

    参数

    • --resource-group(字符串,示例: myResourceGroup
    • --tenant-id(字符串,示例: aaaabbbb-0000-cccc-1111-dddd2222eeee
    • --subscription-id(字符串,示例: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    • --location(字符串,示例: chinaeast2
    • --cloud(字符串,示例: AzureCloud
    • --proxy(字符串,示例: http://proxy.example.com:8080
    & "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" connect `
     --resource-group "myResourceGroup" `
     --tenant-id "aaaabbbb-0000-cccc-1111-dddd2222eeee" `
     --location "chinaeast2" `
     --subscription-id "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    

在 Linux 上安装代理

适用于 Linux 的 Connected Machine 代理以分发版的首选包格式(.RPM.DEB)提供,托管于 Microsoft 包存储库中。 shell 脚本捆绑包 Install_linux_azcmagent.sh 执行以下操作:

  • 将主机配置为从 packages.microsoft.com 下载代理包。

  • 安装混合资源提供程序包。

(可选)可以通过包含 --proxy "{proxy-url}:{proxy-port}" 参数使用代理信息来配置代理。 使用此配置时,代理将使用 HTTP 协议通过代理服务器进行通信。

该脚本还包含用于识别受支持和不受支持分发包的逻辑,并可验证执行安装所需的权限。

  1. 若要下载并安装代理,请运行以下命令:

    # Download the installation package.
    wget https://aka.ms/azcmagent -O ~/Install_linux_azcmagent.sh
    
    # Install the Azure Connected Machine agent.
    bash ~/Install_linux_azcmagent.sh
    

    如果计算机需要通过代理服务器进行通信以连接到 Internet,请包括参数 --proxy ,例如:

    # Download the installation package.
    wget https://aka.ms/azcmagent -O ~/Install_linux_azcmagent.sh
    
    # Install the Azure Connected Machine agent.
    bash ~/Install_linux_azcmagent.sh --proxy "proxy.contoso.com:8080"
    
  2. 安装代理后,将其配置为与 Azure Arc 服务通信:

    参数

    • --resource-group(字符串,示例: myResourceGroup
    • --tenant-id(字符串,示例: aaaabbbb-0000-cccc-1111-dddd2222eeee
    • --subscription-id(字符串,示例: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    • --location(字符串,示例: chinaeast2
    • --cloud(字符串,示例: AzureCloud
    • --proxy(字符串,示例: http://proxy.example.com:8080
    azcmagent connect \
     --resource-group "myResourceGroup" \
     --tenant-id "aaaabbbb-0000-cccc-1111-dddd2222eeee" \
     --location "chinaeast2" \
     --subscription-id "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" \
     --cloud "AzureCloud"
    

验证是否与 Azure Arc 连接

安装代理并将其配置为连接到已启用 Azure Arc 的服务器后,请转到 Azure 门户 以验证服务器是否已成功连接。

显示 Azure 门户中成功的计算机连接的屏幕截图。

后续步骤