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

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

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

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

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

注意

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

SQL Server 的自动连接

将 Windows 或 Linux 服务器连接到也安装了 Microsoft SQL Server 的 Azure Arc 时,SQL Server 实例也会自动连接到 Azure Arc。 通过 Azure Arc 启用的 SQL Server 为 SQL Server 实例和数据库提供详细清单和附加管理功能。 在连接过程中,扩展将部署到已启用 Azure Arc 的服务器,新角色将应用到 SQL Server 和数据库。 如果不想自动将 SQL Server 连接到 Azure Arc,则可通过在 Windows 或 Linux 服务器连接到 Azure Arc 时向其添加一个名为 ArcSQLServerExtensionDeployment 且值为 Disabled 的标记来选择退出。

有关详细信息,请参阅管理 Azure Arc 启用的 SQL Server 自动连接

从 Azure 门户生成安装脚本

Azure 门户中提供了用于自动下载和安装以及与 Azure Arc 建立连接的脚本。 若要完成该过程,请执行以下步骤:

  1. 在浏览器中,登录到 Azure 门户

  2. 在“Azure Arc - 计算机”页上,选择左上角的“添加”

  3. 在“使用 Azure Arc 添加服务器”页的“添加单个服务器”磁贴下,选择“生成脚本”

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

    1. 在“项目详细信息”部分中,选择将从中管理计算机的“订阅”和“资源组”。
    2. 在“区域”下拉列表中,选择用于存储服务器元数据的 Azure 区域。
    3. 在“操作系统”下拉列表中,选择脚本配置为要在其上运行的操作系统。
    4. 在“连接方法”部分,如果计算机是通过代理服务器连接到 Internet 进行通信的,请选择“代理服务器”选项并指定计算机用来与代理服务器通信的代理服务器 IP 地址或名称以及端口号。 按格式 http://<proxyURL>:<proxyport> 输入值。 否则,如果计算机通过专用终结点进行通信,则在下拉列表中选择“专用终结点”选项和适当的专用链接范围。 否则,如果计算机通过公共终结点进行通信,请选择“公共终结点”选项。
    1. 选择“下一步”转到“标记”页
  5. 在“标记”页上,查看建议的默认“物理位置标记”并输入值,或指定一个或多个“自定义标记”以支持你的标准 。

  6. 选择“下一页”,转到“下载并运行脚本”页。

  7. 在“下载并运行脚本”页上查看摘要信息,然后选择“下载” 。 如果仍需进行更改,请选择“上一页”。

在 Windows 上安装并验证代理

手动安装

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

注意

  • 若要安装或卸载代理,必须拥有“管理员”权限。
  • 必须先下载 Installer 包并将其复制到目标服务器上的某个文件夹,或者从共享网络文件夹下载。 如果在不指定任何选项的情况下运行该 Installer 包,它将启动一个安装向导,以交互方式指导用户安装代理。

如果计算机需要通过代理服务器来与服务通信,则在安装代理后,需要运行以下步骤中所述的某个命令。 此命令将设置代理服务器系统环境变量 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. 如果计算机需要通过代理服务器通信,若要设置代理服务器环境变量,请运行以下命令:

    [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
    

    注意

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

  3. 安装代理后,需要通过运行以下命令将其配置为与 Azure Arc 服务通信:

    "%ProgramFiles%\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID"
    

使用脚本方法安装

  1. 登录到服务器。

  2. 打开权限提升的 PowerShell 命令提示符。

    注意

    仅支持在 64 位版本的 Windows PowerShell 中运行该脚本。

  3. 切换到脚本所复制到的文件夹或共享,然后在服务器上运行 ./OnboardingScript.ps1 脚本来执行复制的脚本。

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

在 Linux 上安装并验证代理

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

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

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

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

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

以下示例将下载并安装代理:

# 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
  1. 若要下载并安装代理,请运行以下命令。 如果计算机需要通过代理服务器进行通信以连接到 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-url}:{proxy-port}"
    
  2. 安装代理后,需要通过运行以下命令将其配置为与 Azure Arc 服务通信:

    azcmagent connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --cloud "cloudName"
    if [ $? = 0 ]; then echo "\033[33mTo view your onboarded server(s), navigate to https://portal.azure.cn/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines\033[m"; fi
    

使用脚本方法安装

  1. 使用拥有 root 访问权限的帐户登录到服务器。

  2. 切换到脚本所复制到的文件夹或共享,然后在服务器上运行 ./OnboardingScript.sh 脚本来执行复制的脚本。

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

验证是否与 Azure Arc 连接

安装代理并将其配置为连接到启用了 Azure Arc 的服务器后,请转到 Azure 门户,验证是否已成功连接服务器。 在 Azure 门户中查看计算机。

服务器连接成功

后续步骤