AKS 桌面版中的项目概述

项目是用于在 AKS 桌面中管理应用程序的主要单元。 项目将相关的 Kubernetes 资源(例如部署、服务和配置)分组到单个逻辑单元中。 本文概述了 AKS 桌面中的项目,包括其优势、功能以及它们与传统 Kubernetes 命名空间的比较方式。

为什么在 AKS 桌面中使用项目?

通过项目,可以更轻松地:

  • 了解应用程序边界。
  • 使用 RBAC 管理访问权限。
  • 在一个位置查看所有资源。
  • 归属 Kubernetes 和 Azure 资源的所有权,并管理成本。

项目的命名空间标记和访问权限

在 AKS 桌面中创建项目时,它将与 Kubernetes 命名空间相关联。 AKS 桌面在命名空间上使用 Kubernetes 标签来确定哪些标签在 UI 中显示为项目。 有权访问关联命名空间的任何用户都可以查看项目,因此命名空间访问和标记决定了哪些用户可以查看每个项目。

可以使用下列选项之一在 AKS 桌面中创建项目:

  • 使用现有命名空间:此选项允许将现有 Kubernetes 命名空间作为项目导入 AKS 桌面。 如果你已经部署了应用程序,并且想要通过 AKS 桌面管理它们,而不会中断,这非常有用。 导入命名空间时,AKS 桌面会向该命名空间添加 Kubernetes 标签并将其显示为项目。
  • 创建新的命名空间:此选项将创建新的标准 Kubernetes 命名空间,该命名空间提供用于管理应用程序资源、其属性和映射的基本功能。 Headlamp 项目也支持此选项。
  • 创建新的 AKS 托管命名空间:默认情况下,此增强型项目类型直接链接到 AKS 托管命名空间,这是在逻辑上隔离群集中的工作负荷和团队的方法。 此功能使管理员能够在命名空间级别强制实施资源配额、应用网络策略和管理访问控制。 托管命名空间将 Azure 资源和 Kubernetes 资源组合在一起,这对于所有权归属、成本管理和标识属于应用程序的所有内容非常有用。 项目可以包含一个或多个应用程序,在大多数示例中,我们只显示一个应用以保持简单。

AKS 桌面显示每个命名空间是否已是项目的一部分。 导入命名空间时,AKS 桌面会向该命名空间添加 Kubernetes 标签并将其显示为项目。

“项目概述”屏幕

通过 AKS 桌面将应用程序部署到项目后,即可访问 “项目概述 ”屏幕。 “项目概述”屏幕是您的集中控制中心,让您能可视化地查看项目情况,获取见解,并直接采取行动来管理、监控和优化您的应用。

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

下表描述了“项目概述”屏幕中提供的主要功能:

功能 Description
资源 查看项目中部署的所有 Kubernetes 资源,包括工作负载和网络配置。
Access 授予或删除对项目的访问权限。
地图 可视化 Project 中的 Kubernetes 资源如何交互,显示部署和服务之间的数据流。
信息 查看和编辑项目资源配额、网络策略。
部署 请参阅 GitHub Pipelines 预览版创建的管道。
日志 访问应用程序的流式处理日志。
Metrics 查看应用程序的详细指标,例如 CPU、内存和资源使用情况。
缩放 使用水平 Pod 自动缩放器(HPA)或手动设置来配置应用程序缩放。
见解 运行基于 eBPF 的诊断(进程、跟踪传输控制协议(TCP)、跟踪 DNS),以排查应用程序问题,而无需更改代码或 Pod 重启。 请参阅 使用 Insights 排查应用程序问题

项目与 Kubernetes 命名空间

下表将 AKS 桌面中的项目与 Kubernetes 命名空间进行比较,这是对 Kubernetes 中的资源进行分组的更传统的方法:

概念 AKS 桌面项目 Kubernetes 命名空间
Purpose 应用程序级分组 资源隔离
抽象级别 高 (开发人员友好) 低级(以基础设施为中心的)
映射 通常为 1:1 原生 Kubernetes 概念