将 AKS Edge Essentials 群集连接到 Arc
本文介绍如何将 AKS Edge Essentials 群集连接到 Azure Arc,以便可以在Azure 门户上监视群集的运行状况。 如果群集已连接到代理,可以使用 GitHub 存储库中提供的脚本将群集连接到 Arc ,如此处所述。
先决条件
- 在连接到 Arc 之前,属于订阅所有者或参与者角色的基础结构管理员必须:
- 在 Azure 订阅中启用所有必需的资源提供程序,例如 Microsoft.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivity、Microsoft.Kubernetes、Microsoft.ExtendedLocation 和 Microsoft.KubernetesConfiguration。
- 为 AKS Edge Essentials Azure 资源创建和验证资源组。
- 若要连接到 Arc,Kubernetes 操作员需要 Kubernetes 群集 - 资源组级别的标识的 Azure Arc 载入 角色。 若要与 Arc 断开连接,操作员需要资源组级别的标识Azure Kubernetes 服务 Arc 参与者角色角色。 若要检查访问级别,请导航到Azure 门户上的订阅,选择左侧的访问控制(IAM),然后选择“查看我的访问权限”。 有关管理资源组的详细信息,请参阅 Azure 文档 。 拥有所有者或参与者角色的基础结构管理员还可以执行连接或断开 Arc 的操作。
- 除了这些先决条件,请确保满足已启用 Azure Arc 的 Kubernetes 的所有网络要求。
注意
需要 “参与者” 角色才能删除资源组中的资源。 如果没有此角色分配,则从 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 环境中删除服务主体。
属性 | 值类型 | 说明 |
---|---|---|
ClusterName |
string | 群集的名称。 默认值为 hostname_cluster 。 |
Location |
string | 资源组的位置。 请选择最靠近部署的位置。 |
SubscriptionId |
GUID | 订阅 ID。 在Azure 门户中,选择正在使用的订阅,并将订阅 ID 字符串复制/粘贴到 JSON 中。 |
TenantId |
GUID | 租户 ID。 在Azure 门户中,搜索Microsoft Entra ID,该 ID 应将你带到“默认目录”页。 在此处,可以将租户 ID 字符串复制/粘贴到 JSON 中。 |
ResourceGroupName |
string | 用于托管 AKS 边缘软件包的 Azure 资源的 Azure 资源组的名称。 可以使用现有资源组,或者如果添加新名称,系统会为你创建一个。 |
ClientId |
GUID | 提供用作凭据的 Azure 服务主体的应用程序 ID。 AKS Edge Essentials 使用此服务主体将群集连接到 Arc。可以使用Azure 门户Microsoft Entra 资源页中的应用注册页列出和管理租户中的服务主体。 请注意,服务主体需要 订阅或资源组级别的 Kubernetes 群集 - Azure Arc 载入 角色。 有关详细信息,请参阅 服务主体Microsoft Entra 标识要求。 |
ClientSecret |
string | 服务主体的密码。 |
注意
只需为每个 Azure 订阅执行一次此配置。 无需为每个 Kubernetes 群集重复此过程。
步骤 3:将群集连接到 Arc
运行 Connect-AksEdgeArc
以安装现有群集并将其连接到已启用 Arc 的 Kubernetes:
# Connect Arc-enabled kubernetes
Connect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json
注意
此步骤最多可能需要 10 分钟,PowerShell 可能会停滞在 建立 Azure 连接的 Kubernetes 上 your cluster name
。 PowerShell 在进程完成时输出 True
并返回到提示。
步骤 4:在 Azure 中查看 AKS Edge Essentials 资源
完成此过程后,如果导航到资源组,可以在Azure 门户中查看群集:
在左侧面板中,选择 Kubernetes 资源下的“命名空间”选项(预览版):
若要查看 Kubernetes 资源,需要持有者令牌。
还可以运行
Get-AksEdgeManagedServiceToken
以检索服务令牌。现在,可以查看群集上的资源。 “ 工作负荷 ”选项显示群集中运行的 Pod。
kubectl get pods --all-namespaces
断开与 Arc 的连接
运行 Disconnect-AksEdgeArc
以断开已启用 Arc 的 Kubernetes 的连接。
# Disconnect Arc-enabled kubernetes
Disconnect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json