部署和管理 Kubernetes 应用程序通常需要编写 YAML 清单、运行 kubectl 命令并在多个工具之间切换。 AKS 桌面通过引导式工作流消除这种复杂性,使开发人员和 DevOps 工程师无需深入 Kubernetes 专业知识即可部署、监视、故障排除和清理应用程序。
本指南逐步讲解如何使用 AKS 桌面部署 TypeScript 应用程序,从创建群集到浏览应用程序日志、指标、缩放和内置故障排除工具。
先决条件
- 一份 Azure 订阅。 如果没有 Azure 订阅,可以创建免费的 Azure 帐户。
- Azure CLI 2.64.0 或更高版本。 使用
az --version命令查看版本。 若要安装或升级,请参阅安装 Azure CLI。 - 这是
aks-previewAzure 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
授予群集管理员权限
使用
az aks show命令获取群集资源 ID,并将其设置为环境变量。AKS_ID=$(az aks show --resource-group $myResourceGroup --name $myClusterName --query id --output tsv)使用
命令并通过 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 桌面测试部署应用程序。 如果要使用不同的映像,请确保替换部署步骤中的映像详细信息。
创建新目录,导航到该目录,并克隆 Contoso Air 示例应用程序。 然后导航到 Web 应用程序目录。 如果使用其他应用程序或目录结构,请相应地调整这些命令。
mkdir myapp cd myapp git clone https://github.com/Azure-Samples/contoso-air cd contoso-air/src/web使用
az acr build命令生成容器映像并将其推送到容器注册表。 如果使用其他映像,请确保相应地更新映像名称和路径。az acr build --resource-group $myResourceGroup --registry $registryName --image contosoair:v1 .
将群集注册到 AKS 桌面版系统
请确保使用有权访问 AKS 群集的同一帐户登录到 AKS 桌面。 登录后, 从 Azure 订阅中选择“添加”。
如果有多个订阅,请输入 Azure 订阅的名称。 (或者,选择箭头以打开下拉列表,然后选择 Azure 订阅。
选择群集,然后选择“注册群集”
在 AKS 桌面中创建托管项目
在 AKS 桌面中,导航到“ 项目 ”选项卡,然后选择“ 新建托管项目”。
配置以下项目设置:
-
基础知识:
- 项目名称:例如
my-dev-frontend - 订阅:
<your-subscription-name> - 群集:
<your-cluster-name>
- 项目名称:例如
注释
设置 Azure 订阅和 AKS 群集时,AKS 桌面会检查 AKS 桌面体验所需的群集和订阅功能支持。
网络策略:可以保留本快速入门的默认设置,或根据需要更新它们。
- 若要公开应用程序,请将 入口 更改为
Allow all traffic.
- 若要公开应用程序,请将 入口 更改为
计算配额:保留测试应用程序的默认值。
Access:通过删除行项来添加某人或删除条目。
-
基础知识:
在 “审阅”下,验证项目的设置,然后选择“ 创建项目”。
部署应用程序
提供应用程序名称,然后选择“ 创建应用程序”。
为应用程序选择源。 对于此示例,请选择“下一步>”。
配置以下应用程序设置。 可以接受默认值或根据需要更新它们。
容器映像名称:
- 添加容器映像名称。 在本例中,我们使用
myacr.azurecr.cn/contosoair:v1。
Important
无法使用标记
latest。 指定显式标记,例如v1。- 添加容器映像名称。 在本例中,我们使用
网络:
- 目标端口:对于示例容器,设置为
3000. - 启用公共访问:如果想要从公共 URL 访问应用程序,请设置。
- 目标端口:对于示例容器,设置为
HPA(水平 Pod 自动缩放程序):
- 启用 HPA:根据资源使用情况自动扩展应用程序。
选择“ 部署 ”以部署应用程序。 应用程序可能需要几分钟才能完成部署。 可以在“项目概述”页上查看部署状态。 等待所有资源在 浏览应用程序之前显示正常状态。
浏览应用程序
在“项目概述”页中,可以使用以下选项卡浏览应用程序:
- 资源:查看应用程序的所有 Kubernetes 资源。
- 映射:可视化所有 Kubernetes 资源如何相互交互和相互依赖。
- 日志:查看 Pod 日志。
- 指标:查看核心应用程序资源消耗量。
- 缩放:查看缩放事件并进行更新。
- 见解:排查 DNS 故障、网络流量和资源使用情况(预览版)。 有关详细信息,请参阅 使用 Insights 对 AKS 桌面中的应用程序进行故障排除。
- 删除:删除项目。
- AI 助手:使用自然语言诊断和解决群集中的问题(预览版)。 有关详细信息,请参阅 AKS 桌面版中的 AI 故障排除助手。
清理资源
完成快速入门后,可以清理创建的资源,以避免不必要的成本。
若要删除项目,请选择“ 删除”。 如果还需要删除基础 Azure 托管命名空间资源,请选择 “同时删除命名空间”。
相关内容
有关 AKS 桌面的详细信息,请参阅以下资源: