将 AKS Edge Essentials 群集连接到 Arc

本文介绍如何将 AKS Edge Essentials 群集连接到 Azure Arc,以便在Azure 门户上监视群集的运行状况。 如果群集已连接到代理,则可以使用 GitHub 存储库中提供的脚本将群集连接到 Arc, 如此处所述。

先决条件

  • 需要具有 所有者 角色或 参与者用户访问管理员 角色组合的 Azure 订阅。 可以通过导航到Azure 门户上的订阅,选择Azure 门户左侧的“访问控制 (IAM) ”,然后选择“查看我的访问权限”来检查访问级别。 有关管理资源组的详细信息 ,请参阅 Azure 文档
  • 在 Azure 订阅中启用所有必需的资源提供程序,例如 Microsoft.HybridComputeMicrosoft.GuestConfigurationMicrosoft.HybridConnectivityMicrosoft.KubernetesMicrosoft.ExtendedLocationMicrosoft.KubernetesConfiguration
  • Create并验证 AKS Edge Essentials Azure 资源的资源组。

注意

需要 “参与者” 角色才能删除资源组中的资源。 如果没有此角色分配,用于断开 Arc 的命令将失败。

步骤 1:配置计算机

安装依赖项

在提升的 PowerShell 窗口中运行以下命令,在 PowerShell 中安装依赖项:

Install-Module Az.Resources -Repository PSGallery -Force -AllowClobber -ErrorAction Stop  
Install-Module Az.Accounts -Repository PSGallery -Force -AllowClobber -ErrorAction Stop 
Install-Module Az.ConnectedKubernetes -Repository PSGallery -Force -AllowClobber -ErrorAction Stop  

步骤 2:配置 Azure 环境

部分 下的 Arc aksedge-config.json 文件中提供 Azure 订阅的详细信息,如下表所述。 若要使用已启用 Azure Arc 的 kubernetes 成功连接到 Azure,需要具有内置 Microsoft.Kubernetes connected cluster role 的服务主体才能访问 Azure 上的资源。 如果已有服务主体 ID 和密码,则可以更新 aksedge-config.json 文件中的所有字段。 如果需要创建服务主体,可以 按照此处的步骤操作

重要

客户端密码是密码的一种形式。 适当的管理对于环境的安全性至关重要。

  • 创建客户端密码时,请根据注册时间和部署范围设置非常短的过期时间。
  • 请务必保护客户端机密值和配置文件免受常规访问。
  • 请考虑一下,如果在群集的配置文件存储了客户端机密时备份,则有权访问备份的任何人都可以使用客户端密码。
  • 注册群集后,请从该群集的配置文件中删除客户端密码。
  • 在任务范围内注册所有群集后,应从Microsoft Entra ID环境中轮换客户端机密和/或删除服务主体。
Attribute 值类型 说明
ClusterName 字符串 为群集提供名称。 默认值为 hostname_cluster
Location 字符串 资源组的位置。 选择离部署最近的位置。
SubscriptionId GUID 订阅 ID。 在Azure 门户,选择正在使用的订阅,并将订阅 ID 字符串复制/粘贴到 JSON 中。
TenantId GUID 租户 ID。 在Azure 门户中,搜索Microsoft Entra ID,这会将你带到“默认目录”页。 在此处,可以将租户 ID 字符串复制/粘贴到 JSON 中。
ResourceGroupName 字符串 用于托管 AKS Edge Essentials的 Azure 资源的 Azure 资源组的名称。 可以使用现有资源组,或者如果添加新名称,系统会为你创建一个。
ClientId GUID 提供要用作凭据的 Azure 服务主体的应用程序 ID。 AKS Edge Essentials使用此服务主体将群集连接到 Arc。可以使用Azure 门户Microsoft Entra资源页中的“应用注册”页列出和管理服务主体。 请注意,服务主体需要订阅或资源组级别的 Kubernetes 群集 - Azure Arc 载入 角色。 有关详细信息,请参阅Microsoft Entra服务主体的标识要求
ClientSecret 字符串 提供服务主体的密码。

注意

每个 Azure 订阅只需执行一次此配置。 无需为每个 Kubernetes 群集重复此过程。

步骤 3:将群集连接到 Arc

运行 Connect-AksEdgeArc 以安装现有群集并将其连接到已启用 Arc 的 Kubernetes:

# Connect Arc-enabled kubernetes
Connect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json

注意

此步骤可能需要长达 10 分钟的时间,并且 PowerShell 可能会在your cluster name建立 Azure Connected Kubernetes 时停滞。 进程完成后,PowerShell 会输出 True 并返回到提示符。

显示连接到 Arc 时 PowerShell 提示符的屏幕截图。

步骤 4:在 Azure 中查看 AKS Edge Essentials资源

  1. 该过程完成后,如果导航到资源组,则可以在Azure 门户中查看群集:

    显示Azure 门户中的群集的屏幕截图。

  2. 在左侧面板中,选择“Kubernetes 资源”下的 “命名空间 ”选项 , (预览版)

    Kubernetes 资源预览版。

  3. 若要查看 Kubernetes 资源,需要持有者令牌。

    显示“需要持有者令牌”页的屏幕截图。

  4. 还可以运行 Get-AksEdgeManagedServiceToken 来检索服务令牌。

    显示将令牌粘贴到门户中的位置的屏幕截图。

  5. 现在,可以查看群集上的资源。 “工作负荷”选项显示群集中运行的 Pod。

    kubectl get pods --all-namespaces
    

    显示 Arc 中所有 Pod 的屏幕截图。

断开与 Arc 的连接

运行 Disconnect-AksEdgeArc 以断开与已启用 Arc 的 Kubernetes 的连接。

# Disconnect Arc-enabled kubernetes
Disconnect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json

后续步骤