AKS Edge Essentials 的其他配置和脚本
本文提供了连接到 Azure Arc 的替代方法,这些方法适用于通过代理连接的群集。
使用代理将 AKS Edge Essentials 群集连接到 Arc
先决条件
- 具有“所有者”角色或参与者和用户访问管理员角色的组合的 Azure 订阅。 可以通过导航到订阅、选择Azure 门户左侧的访问控制(IAM),然后选择“查看我的访问权限”来检查访问级别。 有关管理资源组的详细信息,请阅读 Azure 资源管理器文档。
- 在 Azure 订阅中启用所有必需的资源提供程序,例如 Microsoft.HybridCompute、 Microsoft.GuestConfiguration、 Microsoft.HybridConnectivity、 Microsoft.Kubernetes 和 Microsoft.KubernetesConfiguration。
- 为 AKS Edge Essentials Azure 资源创建和验证资源组。
注意
必须具有 参与者 角色才能删除资源组中的资源。 如果没有此角色分配,则从 Arc 断开连接的命令将失败。
步骤 1:为 Azure 连接配置群集
下载 Azure/AKS-Edge GitHub 存储库(如果之前尚未这样做)。 导航到“代码”选项卡,然后单击“下载 Zip”按钮以.zip文件的形式下载存储库。 将 .zip 文件解压缩到本地文件夹。
根据下表中所述, 在aide-userconfig.json 文件中
Azure
提供 Azure 订阅的详细信息。 若要使用已启用 Azure Arc 的 kubernetes 成功连接到 Azure,需要提供对 Azure 上资源的基于角色的访问的服务主体。 如果已有服务主体 ID 和密码,则可以更新aide-userconfig.json文件中的所有字段。 如果没有服务主体,可以提供一个名称,下一步中的脚本将创建一个并填充Auth
部分。属性 值类型 说明 Azure.ClusterName
string 为群集提供一个名称。 默认情况下, hostname_cluster
使用的名称。Azure.Location
string 资源组的位置。 请选择最靠近部署的位置。 Azure.SubscriptionName
string 你的订阅名称。 Azure.SubscriptionId
GUID 订阅 ID。 在Azure 门户中,选择正在使用的订阅,然后将订阅 ID 字符串复制/粘贴到 JSON 中。 Azure.TenantId
GUID 租户 ID。 在Azure 门户中,搜索“Azure Active Directory”,这会带你访问“默认目录”页。 在此处,可以将租户 ID 字符串复制/粘贴到 JSON 文件中。 Azure.ResourceGroupName
string 用于托管 AKS 边缘软件包的 Azure 资源的 Azure 资源组的名称。 可以使用现有资源组,或者如果添加新名称,系统会为你创建一个。 Azure.ServicePrincipalName
string Azure 服务主体名称。 Azure.Auth.ServicePrincipalId
GUID 用作凭据的 Azure 服务主体的 AppID。 AKS Edge Essentials 使用此服务主体将群集连接到 Arc。可以使用现有服务主体,或者如果添加新名称,系统会在下一步创建一个服务主体。 Azure.Auth.Password
string 要用作凭据的 Azure 服务主体的密码(以明文形式)。 AksEdgeConfigFile
string AKS Edge Essentials 配置的文件名( aksedge-config.json
)。 该AksEdgeAzureSetup.ps1
脚本使用所需的信息更新Arc
此 JSON 文件的节。注意
每个 Azure 订阅只需执行一次此过程,无需为每个 Kubernetes 群集重复此过程。
运行或双击 AksEdgePrompt.cmd 文件以打开加载所需模块的提升的 PowerShell 窗口。 将显示电脑信息和已安装的软件版本的概述。
在 tools\scripts\AksEdgeAzureSetup 文件夹中运行 AksEdgeAzureSetup.ps1 脚本。 此脚本提示使用凭据登录以设置 Azure 订阅:
# prompts for interactive login for service principal creation with Contributor role at resource group level ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole # (or) alternative option # Prompts for interactive login for service principal creation with minimal privileges ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
使用 AksEdgeAzureSetup-Test.ps1 脚本确保凭据有效。 此脚本使用新的服务主体凭据登录到 Azure,并检查 Azure 资源的状态:
# Test the credentials ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
步骤 2:将群集连接到 Azure
使用
Read-AideUserConfig
AksEdgeShell 将 JSON 配置加载到 AksEdgeShell 中,并验证值是否已使用Get-AideUserConfig
。 或者,可以重新打开 AksEdgePrompt.cmd 以使用更新的 JSON 配置:Read-AideUserConfig Get-AideUserConfig
重要
每次修改aide-userconfig.json、运行
Read-AideUserConfig
以重新加载或关闭并重新打开AksEdgePrompt.cmd。运行
Initialize-AideArc
。 这会安装 Azure CLI(如果尚未安装),使用给定凭据登录到 Azure,并验证 Azure 配置(资源提供程序和资源组状态):Initialize-AideArc
运行
Connect-AideArc
以安装主机并将其连接到已启用 Arc 的服务器,并将现有群集连接到已启用 Arc 的 Kubernetes:# Connect Arc-enabled server and Arc-enabled Kubernetes Connect-AideArc
或者,可以单独使用
Connect-AideArcServer
已启用 Arc 的服务器和Connect-AideArcKubernetes
已启用 Arc 的 Kubernetes 连接它们:# Connect Arc-enabled server Connect-AideArcServer # Connect Arc-enabled Kubernetes Connect-AideArcKubernetes
注意
此步骤最多可能需要 10 分钟,PowerShell 可能会停滞在“建立 Azure 连接的 Kubernetes”上
your cluster name
。 PowerShell 命令输出True
并返回到进程完成后的提示。 持有者令牌保存在工具文件夹中servicetoken.txt。
步骤 3:在 Azure 上查看群集
在左侧面板中,选择 Kubernetes 资源下的“命名空间”边栏选项卡(预览版):
若要查看 Kubernetes 资源,需要持有者令牌:
在 PowerShell 窗口中,运行
Get-AksEdgeManagedServiceToken
、复制完整字符串并将其粘贴到Azure 门户:现在,可以查看群集上的资源。 下图显示了 “工作负荷 ”边栏选项卡,其中显示与
kubectl get pods --all-namespaces
以下内容相同:
使用代理时断开 AKS Edge Essentials 群集与 Arc 的连接
运行 Disconnect-AideArc
以断开已启用 Arc 的服务器和已启用 Arc 的 Kubernetes 的连接:
# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc
或者,可以单独使用 Connect-AideArcServer
已启用 Arc 的服务器和 Connect-AideArcKubernetes
已启用 Arc 的 Kubernetes 断开连接:
# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes
将主机连接到 Arc
可以使用已启用 Arc 的服务器连接主机
Connect-AideArcServer
:# Connect Arc-enabled server Connect-AideArcServer
若要断开主机与 Arc 的连接,请使用
Disconnect-AideArcServer
已启用 Arc 的服务器:# Disconnect Arc-enabled server Disconnect-AideArcServer
还可以按照此处的步骤卸载 Arc for Server 代理。 若要全面清理Azure 门户,请删除为此示例创建的服务主体和资源组。