已启用Azure Arc的服务器第2部分:设置已启用Azure Arc的服务器

目录

在Azure Arc中添加基于Linux的服务器

在服务器上安装Azure连接的计算机代理

将服务器添加到Azure Arc

生成脚本

检查脚本

运行脚本

在Azure门户中检查Ubuntu VM

在Azure Arc中添加基于Windows的服务器

安装Azure连接的计算机代理

检查脚本

结论


在这里,我们将在非Azure环境中创建服务器,创建Linux服务器和Windows服务器,演示如何在两台服务器上安装连接的计算机代理,演示如何将两台服务器连接到安装和配置代理的Azure Arc,并探索服务器在连接后在Azure Arc中的显示方式。

上一篇文章中,我们介绍了Azure Arc作为将其他环境中的资源集成到Azure Microsoft的一种方式。在本文中,我们将两个不同的外部服务器集成到Azure Microsoft以说明Arc在某些用例中的灵活性。

第一个服务器是使用另一个云提供商设置的VM。在本例中,它是一个基于Ubuntu 20.04的镜像。它具有公共IP地址,可通过云提供商的集成控制台进行访问。或者,我们可以通过SSH隧道连接到它。

我们将使用的另一台服务器是托管在本地的VM。此虚拟机运行Windows Server 2012 R2作为其操作系统,并使用Plesk虚拟化环境。与Ubuntu VM一样,它带有一个公共IP地址。但是,与Ubuntu VM不同的是,我们将通过远程桌面协议(RDP)连接到它。

让我们先在Azure中添加这些内容。请确保满足上一篇文章中提出的要求。最重要的是,请确保将HybridComputeGuestConfiguration提供程序注册到Azure订阅。

Azure Arc中添加基于Linux的服务器

本教程的假设是你已在某处创建了VM。例如,你可以通过你选择的云提供商来运行VM镜像,例如Ubuntu 20.04LTS),如下所示:

您在选择操作系统时有一定的自由度。当前官方支持的操作系统列表很强大,但您应该确认没有任何例外情况适用于您。

您需要的最重要的信息是主机名和公共IP。即使在没有公共IP的情况下,我们仍然可以添加服务器,只要可以从外部访问它,例如通过某些代理或跳转主机。

我们选择的云提供商显示的VM,如下所示:

在这种情况下,我们可以通过集成到云提供商门户中的控制台方便地连接到VM

在服务器上安装Azure连接的计算机代理

此时,我们需要安装连接的计算机代理Microsoft在其文档中提供了详细说明

在基于Linux的计算机上安装代理之前,我们需要将Microsoft中的包存储库添加到可用存储库列表中。因为我们选择了Ubuntu作为操作系统,所以我们需要更新我们的高级软件包工具(APT)以正确列出和利用软件包。为此,我们在其他云提供商的门户上启动控制台窗口:

首先,下载包存储库的密钥,通过运行以下命令安全地与其通信:

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

接下来,通过运行以下命令添加存储库并更新本地包存储库的信息:

sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod
sudo apt-get update

然后,安装Azure连接的计算机代理:

sudo apt-get install azcmagent

代理运行后,可以转到Azure门户并添加服务器。

将服务器添加到Azure Arc

Azure门户中选择 Azure Arc。如果尚未在菜单中看到它,请搜索“Azure Arc”并从搜索结果中选择它。应会看到一个概述屏幕,欢迎你使用Azure Arc

选择服务器以显示概述页,然后选择添加添加其他服务器。

Azure为我们提供了一个用于添加服务器的小脚本片段,我们需要在运行连接的计算机代理的服务器上调用该脚本片段。

有多个选项可用于生成脚本。最直接的为我们提供了一个可以调用一次的脚本。这种方法通常并不理想,因为如果我们有一组服务器要载入,我们需要为每个服务器单击此选项。这当然不是我们正在寻找的时间节省。在这种情况下,第二个选项(为多个服务器创建脚本)更有意义。

但是,为多个服务器创建脚本是一个更复杂的过程,并且还有几个先决条件。最重要的是,服务主体必须可用。需要服务主体才能控制Azure订阅。主要是协商新服务器的集成,但有必要使整个过程自动化。

最后,有两个更专业的选项在某些边缘情况下非常方便:当服务器已经在运行更新管理服务时,以及

当服务器已在VMWare环境中运行时。在第一种情况下,Azure已经知道服务器,这使得集成相当容易。在第二种情况下,可以通过名为 Azure Migrate 的工具直接集成服务器。

生成脚本

让我们生成一个脚本来添加单个服务器:

在对话框中,我们首先被告知添加服务器的先决条件。在我们的案例中,我们已经遇到了他们。

现在是时候获取有关服务器的一些详细信息了,我们将使用它来生成正确的脚本。

首先,确保选择正确的操作系统:

您还需要确保正确选择了连接方法。在我们的例子中,我们在服务器上有一个公共IP地址。这意味着可以使用代理公开的公共终结点。

下一节允许我们为服务器选择一些标签。如果要添加多个服务器,这将非常方便。它允许我们按数据中心、位置和许多其他我们可能发现有用的细节来过滤它们。在本系列中,我们只会添加两个服务器,因此我们不妨暂时跳过这些标签。

最后,我们得到一个可以运行的脚本。可以下载或复制脚本。我们建议逐行复制它,以便在实际调用它之前了解每行在做什么。

检查脚本

下面是Azure Arc为我们生成的用于添加服务器的简短脚本:

# Download the installation package
wget https://aka.ms/azcmagent -O ~/install_linux_azcmagent.sh

# Install the hybrid agent
bash ~/install_linux_azcmagent.sh

# Run connect command
azcmagent connect --resource-group "arc-sample" --tenant-id "<tenant>" --location "westeurope" --subscription-id "<subscription>" --cloud "AzureCloud" --correlation-id "<guid>"

if [ $? = 0 ]; then echo "\033[33mTo view your onboarded server(s), navigate to https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines\033[m"; fi

现在,让我们一点一点地检查它。

第一个命令下载脚本并将其保存在当前用户的主目录中:

wget https://aka.ms/azcmagent -O ~/install_linux_azcmagent.sh

然后,调用脚本来安装混合代理:

bash ~/install_linux_azcmagent.sh

最后,调用该azcmagent工具以使用我们的订阅ID连接到所选资源组(例如,上一个屏幕截图中的“arc-sample”)。请务必注意相关ID,它只工作一次。

# Run connect command
azcmagent connect --resource-group "arc-sample" --tenant-id "<tenant>" --location "westeurope" --subscription-id "<subscription>" --cloud "AzureCloud" --correlation-id "<guid>"

if [ $? = 0 ]; then echo "\033[33mTo view your onboarded server(s), navigate to https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines\033[m"; fi

运行脚本

该脚本通过将其复制并粘贴到服务器的终端来运行。运行azcmagent connect命令时,需要登录到Azure门户以确认连接。这是通过URL完成的——通常是像Microsoft的设备登录页面这样的东西,使用命令行中显示的代码。

如果成功登录,你将看到一条消息,指向Azure门户,其中服务器已显示在列表中。

Azure门户中检查Ubuntu VM

Azure门户中Ubuntu VM的概述页如下所示:

我们看到一些信息已经填充了要点部分。

列出的信息包括以下详细信息:

  • 操作系统名称、类型和版本
  • 计算机名称、完全限定域名(FQDN)、制造商和型号
  • 域名(如果加入Active Directory域)
  • 连接的计算机代理版本
  • Active Directory和DNS完全限定域名(FQDN)
  • UUID(BIOS ID)
  • 连接的计算机代理检测信号
  • 连接的计算机代理版本
  • 托管标识的公钥
  • 策略合规性状态和详细信息(如果使用来宾配置策略)
  • 已安装SQL Server(布尔值)
  • 群集资源ID(适用于Azure Stack HCI节点)
  • 硬件制造商
  • 硬件型号
  • 云提供商
  • 亚马逊网络服务(AWS)账户ID、实例ID和区域(如果在AWS中运行)

现在,让我们在Windows机器上实现相同的结果。

Azure Arc中添加基于Windows的服务器

Azure Arc中添加基于Windows的服务器的过程与添加基于Linux的服务器的过程几乎相同。但是,它在某些关键细节上有所不同——最值得注意的是我们将通过RDP进行连接。

安装Azure连接的计算机代理

与我们设置的Linux VM一样,通过安装连接的计算机代理来启动此过程。

通过RDP连接到Windows VM并打开Web浏览器。在浏览器中,导航到“https://aka.ms/AzureConnectedMachineAgent”以开始下载MSI文件。

像安装任何标准Windows软件一样安装代理。打开下载的MSI文件并按照说明进行操作。

以下屏幕截图显示了选择Windows作为操作系统时脚本的外观:

在这里,我们看到脚本现在正在使用PowerShell来运行其命令。

检查脚本

为我们的Windows机器生成的脚本看起来略有不同,但结构相似。

# Download the installation package
Invoke-WebRequest -Uri "https://aka.ms/azcmagent-windows" -TimeoutSec 30 -OutFile "$env:TEMP\install_windows_azcmagent.ps1"

& "$env:TEMP\install_windows_azcmagent.ps1"
if($LASTEXITCODE -ne 0) {
    throw "Failed to install the hybrid agent"
}

#Install the hybrid agent
& "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "arc-sample" --tenant-id "<tenant>" --location "westeurope" --subscription-id "<subscription>" --cloud "AzureCloud" --correlation-id "<guid>"

#Run connect command
if($LastExitCode -eq 0){Write-Host -ForegroundColor yellow "To view your onboarded server(s), navigate to https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines"}

正如我们对Linux VM所做的那样,让我们逐行检查脚本。

我们首先下载安装包并将其移动到临时文件夹:

Invoke-WebRequest -Uri "https://aka.ms/azcmagent-windows" -TimeoutSec 30 -OutFile "$env:TEMP\install_windows_azcmagent.ps1"

然后,从临时文件夹运行安装脚本:

& "$env:TEMP\install_windows_azcmagent.ps1"
if($LASTEXITCODE -ne 0) {
    throw "Failed to install the hybrid agent"
}

最后,调用 azcmagent.exe 工具中的connect子命令来建立连接。

此时,我们需要再次打开设备登录页,以确认与我们的Azure帐户和订阅的连接。

& "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "arc-sample" --tenant-id "<tenant>" --location "westeurope" --subscription-id "<subscription>" --cloud "AzureCloud" --correlation-id "<guid>"
 
if($LastExitCode -eq 0){Write-Host -ForegroundColor yellow "To view your onboarded server(s), navigate to https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines"}

根据VM的使用年限,可能需要在运行生成的脚本之前实际允许TLS 1.2。在我们的例子中,这是必要的,因为它是一个Windows Server 2012 R2实例。在PowerShell中,我们需要运行以下内容:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

现在,我们可以运行命令了。和以前一样,您应该注意devicelogin消息。下面是它的样子:

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code CFVTXMCHY to authenticate.

通过身份验证后,你将看到类似于以下内容的消息:

time="2021-12-02T14:46:22+01:00" level=info msg="The resource was successfully  onboarded in Azure" VM Id=37eb5b6d-3720-408f-89c0-afabcab94cf3

我们现在有两台服务器。服务器列表的填充量会越来越多。

在这里,Azure Arc显示的信息字段与我们的Ubuntu VM相同——当然,只是值不同。

结论

当我们使用为我们生成的脚本时,在Azure Arc中添加新服务器非常简单。要记住的最重要的事项是VM的操作系统和连接方法先决条件。满足这些条件后,运行Azure Arc为我们生成的脚本以从运行LinuxWindows的各种云提供商载入服务器应该是一个简单的问题。继续阅读本系列的第三篇也是最后一篇文章,了解如何设置安全性、SentinelRunbook

若要详细了解已启用Azure Arc的服务器,请查看已启用Azure Arc的服务器概述

https://www.codeproject.com/Articles/5321653/Azure-Arc-Enabled-Servers-Part-2-Setting-up-Azure

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值