AKS Edge Essentials 快速入门指南

本快速入门介绍如何设置Azure Kubernetes 服务 (AKS) Edge Essentials 单台计算机 K3S 仅限 Linux 的群集。

先决条件

  • 请参阅系统要求。 对于本快速入门,请确保至少有 4.5 GB RAM 可用、4 个 vCPU 和 20 GB 可用磁盘空间。
  • OS 要求:在计算机上安装 Windows 10/11 IoT 企业版/企业版/专业版并激活 Windows。 建议使用最新的客户端版本 22H2(OS 内部版本 19045)Server 2022(OS 内部版本 20348)。 可以 在此处 下载 Windows 10 版本或 此处的 Windows 11。
  • 查看Microsoft软件许可条款,因为它们适用于软件的使用。 通过使用 AksEdgeQuickStart 脚本,你接受Microsoft软件许可条款, AcceptEULA 标志设置为 true 指示接受许可条款。
  • 获取 Azure 订阅参数:若要将群集连接到 Azure Arc,必须提供这些参数。 如果跳过这些参数,则会跳过 Arc 连接,但仍部署群集:
    • 登录 凭据:使用 Azure CLI 进行交互式登录所需的凭据。 你的帐户应具有其中一个角色 OwnerContributor Administrator
    • 订阅 ID<subscription-id>:在Azure 门户中,选择正在使用的订阅,并查找订阅 ID (GUID)。
    • 租户 ID<tenant-id>:在Azure 门户中,搜索Microsoft Entra ID,该 ID 应将你带到“默认目录”页。 查找租户 ID(GUID)。
    • 位置(Azure 区域)<location>:要在其中创建资源。 有关受服务支持Azure Arc enabled serversAzure Arc enabled Kubernetes的位置,请参阅 Azure Arc by Region。 选择两者都支持的区域。

步骤 1:下载脚本以方便部署

AksEdgeQuickStart.ps1 脚本下载到工作文件夹。 根据计算机上的策略设置,可能需要先取消阻止文件,然后再运行 Set-ExecutionPolicy 以允许脚本执行。

打开提升的 PowerShell 窗口,并将目录更改为工作文件夹:

$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStart.ps1"
Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStart.ps1
Unblock-File .\AksEdgeQuickStart.ps1
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force

此脚本自动执行以下步骤:

  • 在工作文件夹中,脚本将 Azure/AKS-Edge 的 GitHub 存档下载并解压缩到文件夹 AKS-Edge-main(或 AKS-Edge-tag<>)。 默认情况下,这会下载当前主分支。
  • 使用 AksEdgeAzureSetup 脚本提示用户使用其 Azure 凭据登录到Azure 门户,并执行以下任务:
    • 安装 Azure CLI
    • 创建资源组 aksedge-rp
    • 创建一个服务主体 aksedge-sp ,其 参与者 角色限制为 aksedge-rp 资源组范围。 如果服务主体已存在,它将重置其密码。 此服务主体用于连接到 Azure Arc。
    • 注册资源提供程序Microsoft.HybridComputeMicrosoft.GuestConfigurationMicrosoft.HybridConnectivity、Microsoft.KubernetesMicrosoft.KubernetesConfigurationMicrosoft.ExtendedLocation
  • 调用执行以下任务的 Start-AideWorkflow 函数:
    • 下载并安装 AKS Edge Essentials MSI。
    • 安装所需的主机 OS 功能 (Install-AksEdgeHostFeatures)。 启用 Hyper-V 后,计算机可能会重新启动,必须再次重启脚本。
    • 部署具有内部交换机(仅限 Linux 节点)的单个计算机群集。
  • Connect-AideArc如果提供了 Azure 参数,则调用函数。 此函数执行以下任务:
    • 安装 Azure Connected Machine Agent 并将主机连接到 Arc for Servers。
    • 为已连接的 Kubernetes 将已部署的群集连接到 Arc。

步骤 2:部署 AKS Edge Essentials

在提升的 PowerShell 提示符下,运行 AksEdgeQuickStart.ps1 脚本。 这会启动 K3s 群集:

.\AksEdgeQuickStart.ps1 -SubscriptionId "<subscription-id>" -TenantId "<tenant-id>" -Location "<location>"

若要安装 K8s 版本,请指定标志 -UseK8s

.\AksEdgeQuickStart.ps1 -SubscriptionId "<subscription-id>" -TenantId "<tenant-id>" -Location "<location>" -UseK8s

该脚本安装 AKS Edge Essentials 并使用 Azure Arc 将群集连接到 Azure。

提示

如果计算机上未启用 Hyper-V,则快速入门脚本将启用 Hyper-V 并重启计算机。 AksEdgeQuickStart重新启动后再次运行脚本。

步骤 3:验证部署

  1. 通过运行以下操作确认部署是否成功:

    kubectl get nodes -o wide
    kubectl get pods -A -o wide
    

    下图显示了 K3S 群集上的 Pod:

    显示正在运行的所有 Pod 的屏幕截图。

  2. 如果导航到资源组,可以在Azure 门户中查看群集:

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

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

    Kubernetes 资源的屏幕截图。

  4. 若要查看 Kubernetes 资源,需要持有者令牌:

    显示持有者令牌所需页的屏幕截图。

  5. 可以运行 Get-AksEdgeManagedServiceToken 以检索服务令牌:

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

  6. 现在,可以查看群集上的资源。 “工作负载”显示了群集上运行的 Pod。

    kubectl get pods --all-namespaces
    

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

现在,你有一个连接 Arc 的 AKS Edge Essentials K3S 群集,其中包含 Linux 节点。 可以探索在此群集上部署示例 Linux 应用程序。

提示

如果在运行AksEdgeQuickStart.ps1脚本时未提供 Azure 订阅详细信息,仍可按照本文中的步骤连接到 Azure Arc

后续步骤