将 AKS Edge Essentials 群集连接到 Arc
本文介绍如何将 AKS Edge Essentials 群集连接到 Azure Arc,以便在Azure 门户上监视群集的运行状况。 如果群集已连接到代理,则可以使用 GitHub 存储库中提供的脚本将群集连接到 Arc, 如此处所述。
先决条件
- 需要具有 所有者 角色或 参与者 和 用户访问管理员 角色组合的 Azure 订阅。 可以通过导航到Azure 门户上的订阅,选择Azure 门户左侧的“访问控制 (IAM) ”,然后选择“查看我的访问权限”来检查访问级别。 有关管理资源组的详细信息 ,请参阅 Azure 文档 。
- 在 Azure 订阅中启用所有必需的资源提供程序,例如 Microsoft.HybridCompute、 Microsoft.GuestConfiguration、 Microsoft.HybridConnectivity、 Microsoft.Kubernetes、 Microsoft.ExtendedLocation 和 Microsoft.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
并返回到提示符。
步骤 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
后续步骤
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈