快速入门:使用 AKS 桌面部署和管理应用程序

部署和管理 Kubernetes 应用程序通常需要编写 YAML 清单、运行 kubectl 命令并在多个工具之间切换。 AKS 桌面通过引导式工作流消除这种复杂性,使开发人员和 DevOps 工程师无需深入 Kubernetes 专业知识即可部署、监视、故障排除和清理应用程序。

本指南逐步讲解如何使用 AKS 桌面部署 TypeScript 应用程序,从创建群集到浏览应用程序日志、指标、缩放和内置故障排除工具。

先决条件

  • 一份 Azure 订阅。 如果没有 Azure 订阅,可以创建免费的 Azure 帐户。
  • Azure CLI 2.64.0 或更高版本。 使用 az --version 命令查看版本。 若要安装或升级,请参阅安装 Azure CLI。
  • 这是 aks-preview Azure CLI 扩展。 使用 az extension add --name aks-preview 命令安装它。 有关详细信息,请参阅管理Azure CLI扩展。
  • 已安装 AKS 桌面。 AKS 桌面支持以下操作系统(OS):Windows、Linux 和 Mac。
  • 如果使用现有群集,则该群集需通过 Microsoft Entra ID 进行身份验证。 还需要 Azure Kubernetes 服务 RBAC 群集管理员角色 或目标群集的等效权限。

创建 Azure 资源

如果没有现有的 AKS 群集和 Azure 容器注册表(ACR),可以使用 Azure CLI 创建它们。 这些部分演示如何创建新的资源组、AKS 群集和 ACR。 如果已有这些资源,则可以跳到 与 AKS Desktop 注册群集。

设置环境变量。

若要简化命令,请在终端中设置以下环境变量。 请确保将 myLocation 设置为对应的 Azure 区域。 此处的示例用于 RAND 创建唯一的资源名称。 您可以根据需要将这些值替换为您自己的值。

RAND=$RANDOM
export RAND
echo "Random resource identifier will be: ${RAND}"
myResourceGroup=bbash$RAND
myLocation=chinanorth3
myClusterName=clu-$RAND
registryName=bbashreg$RAND

创建资源组

使用 az group create 命令创建 Azure 资源组。

az group create --name $myResourceGroup --location $myLocation

创建 Azure 容器注册表

使用 az acr create 命令创建 Azure 容器注册表。

az acr create --resource-group $myResourceGroup --name $registryName --sku Basic

使用 ACR 集成创建 AKS 群集

使用 az aks create 命令创建具有 ACR 集成的 AKS 群集。 此参数 --attach-acr 授予 AKS 群集从 ACR 拉取映像的权限。

az aks create --resource-group $myResourceGroup --name $myClusterName --sku standard --attach-acr $registryName

授予群集管理员权限

  1. 使用 az aks show 命令获取群集资源 ID,并将其设置为环境变量。

    AKS_ID=$(az aks show --resource-group $myResourceGroup --name $myClusterName --query id --output tsv)
    
  2. 使用 命令并通过 Azure Kubernetes 服务 RBAC 集群管理员角色 向集群授予管理员权限。 请确保将 <your-entra-id> 替换为您的 Microsoft Entra ID 对象 ID。

    az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" \
       --assignee <your-entra-id> \
       --scope $AKS_ID
    

创建用于测试的容器映像

此示例从 Contoso Air 示例应用程序创建镜像,但可以使用任何容器镜像通过 AKS 桌面测试部署应用程序。 如果要使用不同的映像,请确保替换部署步骤中的映像详细信息。

  1. 创建新目录,导航到该目录,并克隆 Contoso Air 示例应用程序。 然后导航到 Web 应用程序目录。 如果使用其他应用程序或目录结构,请相应地调整这些命令。

    mkdir myapp
    cd myapp
    git clone https://github.com/Azure-Samples/contoso-air
    cd contoso-air/src/web
    
  2. 使用 az acr build 命令生成容器映像并将其推送到容器注册表。 如果使用其他映像,请确保相应地更新映像名称和路径。

    az acr build --resource-group $myResourceGroup --registry $registryName --image contosoair:v1 .
    

将群集注册到 AKS 桌面版系统

  1. 请确保使用有权访问 AKS 群集的同一帐户登录到 AKS 桌面。 登录后, 从 Azure 订阅中选择“添加”。

  2. 如果有多个订阅,请输入 Azure 订阅的名称。 (或者,选择箭头以打开下拉列表,然后选择 Azure 订阅。

  3. 选择群集,然后选择“注册群集”

    演示如何将群集添加到 AKS 桌面应用的视频。

在 AKS 桌面中创建托管项目

  1. 在 AKS 桌面中,导航到“ 项目 ”选项卡,然后选择“ 新建托管项目”。

  2. 配置以下项目设置:

    • 基础知识:
      • 项目名称:例如 my-dev-frontend
      • 订阅:<your-subscription-name>
      • 群集:<your-cluster-name>

    注释

    设置 Azure 订阅和 AKS 群集时,AKS 桌面会检查 AKS 桌面体验所需的群集和订阅功能支持。

    • 网络策略:可以保留本快速入门的默认设置,或根据需要更新它们。

      • 若要公开应用程序,请将 入口 更改为 Allow all traffic.
    • 计算配额:保留测试应用程序的默认值。

    • Access:通过删除行项来添加某人或删除条目。

  3. 在 “审阅”下,验证项目的设置,然后选择“ 创建项目”。

    在 AKS 桌面中创建新项目的屏幕截图。

部署应用程序

  1. 提供应用程序名称,然后选择“ 创建应用程序”。

    在 AKS 桌面中创建新应用程序的屏幕截图。

  2. 为应用程序选择源。 对于此示例,请选择“下一步>”。

    在 AKS 桌面中为新应用程序选择源的屏幕截图。

  3. 配置以下应用程序设置。 可以接受默认值或根据需要更新它们。

    • 容器映像名称:

      • 添加容器映像名称。 在本例中,我们使用 myacr.azurecr.cn/contosoair:v1。

      Important

      无法使用标记 latest 。 指定显式标记,例如 v1。

    • 网络:

      • 目标端口:对于示例容器,设置为 3000.
      • 启用公共访问:如果想要从公共 URL 访问应用程序,请设置。
    • HPA(水平 Pod 自动缩放程序):

      • 启用 HPA:根据资源使用情况自动扩展应用程序。
  4. 选择“ 部署 ”以部署应用程序。 应用程序可能需要几分钟才能完成部署。 可以在“项目概述”页上查看部署状态。 等待所有资源在 浏览应用程序之前显示正常状态。

    AKS 桌面中的“项目概述”屏幕的屏幕截图。

浏览应用程序

在“项目概述”页中,可以使用以下选项卡浏览应用程序:

  • 资源:查看应用程序的所有 Kubernetes 资源。
  • 映射:可视化所有 Kubernetes 资源如何相互交互和相互依赖。
  • 日志:查看 Pod 日志。
  • 指标:查看核心应用程序资源消耗量。
  • 缩放:查看缩放事件并进行更新。
  • 见解:排查 DNS 故障、网络流量和资源使用情况(预览版)。 有关详细信息,请参阅 使用 Insights 对 AKS 桌面中的应用程序进行故障排除。
  • 删除:删除项目。
  • AI 助手:使用自然语言诊断和解决群集中的问题(预览版)。 有关详细信息,请参阅 AKS 桌面版中的 AI 故障排除助手。

清理资源

完成快速入门后,可以清理创建的资源,以避免不必要的成本。

若要删除项目,请选择“ 删除”。 如果还需要删除基础 Azure 托管命名空间资源,请选择 “同时删除命名空间”。

有关 AKS 桌面的详细信息,请参阅以下资源: