AKS Edge Essentials 快速入门指南
本快速入门介绍如何设置Azure Kubernetes 服务 (AKS) Edge Essentials 单台计算机 K3S 仅限 Linux 的群集。
注意
本快速入门脚本的目的是简化评估过程。 对于 Azure 订阅的一次性设置,此脚本需要更高级别的凭据。 这不适用于生产用途。
先决条件
- 请参阅系统要求。 对于本快速入门,请确保至少有 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 进行交互式登录所需的凭据。 你的帐户应具有其中一个角色
Owner
或Contributor
Administrator
。 - 订阅 ID
<subscription-id>
:在Azure 门户中,选择正在使用的订阅,并查找订阅 ID (GUID)。 - 租户 ID
<tenant-id>
:在Azure 门户中,搜索Microsoft Entra ID,该 ID 应将你带到“默认目录”页。 查找租户 ID(GUID)。 - 位置(Azure 区域)
<location>
:要在其中创建资源。 有关受服务支持Azure Arc enabled servers
Azure Arc enabled Kubernetes
的位置,请参阅 Azure Arc by Region。 选择两者都支持的区域。
- 登录 凭据:使用 Azure CLI 进行交互式登录所需的凭据。 你的帐户应具有其中一个角色
步骤 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.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivity、Microsoft.Kubernetes、Microsoft.KubernetesConfiguration 和 Microsoft.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。
提示
可以为任何其他选项修改 $aksedgeConfig
脚本中的 AksEdgeQuickStart
json 内容。 有关可用选项,请参阅 部署 JSON 配置。
步骤 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:验证部署
通过运行以下操作确认部署是否成功:
kubectl get nodes -o wide kubectl get pods -A -o wide
下图显示了 K3S 群集上的 Pod:
如果导航到资源组,可以在Azure 门户中查看群集:
在左侧面板中,选择 Kubernetes 资源下的命名空间(预览版):
若要查看 Kubernetes 资源,需要持有者令牌:
可以运行
Get-AksEdgeManagedServiceToken
以检索服务令牌:现在,可以查看群集上的资源。 “工作负载”显示了群集上运行的 Pod。
kubectl get pods --all-namespaces
现在,你有一个连接 Arc 的 AKS Edge Essentials K3S 群集,其中包含 Linux 节点。 可以探索在此群集上部署示例 Linux 应用程序。
提示
如果在运行AksEdgeQuickStart.ps1
脚本时未提供 Azure 订阅详细信息,仍可按照本文中的步骤连接到 Azure Arc。