为 AKS 桌面配置 Azure Kubernetes 服务 (AKS) 群集

AKS 桌面支持标准 AKS 群集和自动(推荐)AKS 群集。 但是,设置和两个层之间可用的功能存在一些差异。 本文介绍适用于 AKS 桌面的推荐 Azure Kubernetes 服务(AKS)群集配置和加载项。

小窍门

若要尽快开始使用 AKS 桌面,建议:

先决条件

  • 一份 Azure 订阅。 如果没有帐户,请创建 Azure 帐户
  • Azure CLI 2.64.0 或更高版本。 检查你的 az --version 版本,并根据需要进行 安装或升级
  • 这是 aks-preview Azure CLI 扩展。 可以使用命令安装扩展 az extension add --name aks-preview
  • 在 Azure 中创建资源的权限(目标资源组上的参与者角色或所有者角色)。
  • 目标 AKS 群集上的 Azure Kubernetes 服务 RBAC 群集管理员角色可向用户授予对 Projects 的访问权限。

AKS 标准群集

可以将 AKS 桌面与标准 AKS 群集配合使用,但必须确保为获得最佳体验启用某些功能。 某些功能是基本功能所必需的,而其他功能是可选的,但建议使用以全面实现 AKS 桌面的全部功能。

AKS 标准群集的最低要求

下表概述了与 AKS 桌面兼容的 AKS 标准群集所需的最低功能:

Requirement 为什么需要它 如何检查 如何启用
Microsoft Entra ID (AAD) 身份验证 需要用于 Azure RBAC 和托管命名空间角色分配。 未启用 Entra ID 身份验证的群集不会显示在 AKS 桌面群集选取器中。 az aks show --resource-group <resource-group-name> --name <cluster-name> --query aadProfile (不得 null 必须在创建群集时使用 进行设置
Azure RBAC 用于 Kubernetes 授权 将用户分配到具有管理员、编写者或读者角色的项目所必需的。 az aks show --resource-group <resource-group-name> --name <cluster-name> --query aadProfile.enableAzureRbac (必须是 true 必须在创建群集时使用 进行设置

下表概述了 AKS 标准群集的建议功能,以解锁 AKS 桌面的全部潜力:

功能 它在 AKS 桌面上启用的功能 可以在创建群集后启用? 如何启用
网络策略引擎 (建议使用 Cilium) 托管命名空间上的入口和出口网络策略。 如果没有网络策略引擎,策略会被自动忽略。 。 必须在创建群集时设置。 --network-plugin azure --network-policy cilium
Azure Monitor 指标 (管理的 Prometheus) “指标”选项卡(CPU、内存和请求速率图表)和缩放图表(CPU %)。 是的 az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-azure-monitor-metrics
托管 Grafana 数据指标仪表板的可视化。 是的 使用 Azure 门户时,与 Azure Monitor 指标一起启用。 使用 Azure CLI 时,将 Grafana 工作区链接到 --enable-azure-monitor-metrics --azure-monitor-workspace-resource-id <id>
KEDA Kubernetes 事件驱动的自动缩放功能位于“自动缩放”选项卡中。 是的 az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-keda
VPA (垂直 Pod 自动调节器) “垂直 Pod 自动缩放建议”位于“缩放”选项卡中。 是的 az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-vpa

创建完全兼容的 AKS 标准群集

以下命令 az aks create 创建一个新的 AKS 标准群集,其中包含为 AKS 桌面启用的所有推荐功能。 请务必将占位符值替换为专属于您的值。

az aks create \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --location <location> \
  --tier standard \
  --enable-aad \
  --enable-azure-rbac \
  --network-plugin azure \
  --network-policy cilium \
  --enable-azure-monitor-metrics \
  --enable-keda \
  --enable-vpa \
  --enable-hpa \
  --generate-ssh-keys

如果要在创建后将现有 Azure 容器注册表(ACR)附加到群集,可以使用以下命令 az aks update

az aks update \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --attach-acr <acr-name>

在现有 AKS 标准群集上启用功能

创建群集后,可以启用一些功能。 还有其他功能只能在群集创建时启用。 有关详细信息,请参阅 AKS 桌面功能可用性矩阵

这些命令可能需要几分钟才能完成。 每个加载项可能会产生额外的 Azure 成本。 有关详细信息,请参阅 AKS 定价

启用 Azure Monitor 指标(Managed Prometheus)

使用 az aks update 命令和 --enable-azure-monitor-metrics 标志在现有的 AKS Standard 集群上启用 Azure Monitor 指标。 此加载项在 AKS 桌面中启用“指标”选项卡和缩放图表(CPU %)。

az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-azure-monitor-metrics

启用 KEDA

使用 az aks update 命令和 --enable-keda 标志在现有 AKS 标准集群上启用 Kubernetes 事件驱动自动伸缩(KEDA)。 此加载项支持 AKS 桌面中的“缩放”选项卡,该选项卡提供根据自定义指标缩放工作负荷的建议。

az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-keda

启用 VPA

在现有的 AKS 标准群集上,使用 az aks update 命令和 --enable-vpa 标志启用垂直 Pod 自动缩放程序 (VPA)。 此加载项在 AKS 桌面的“缩放”选项卡中启用垂直 Pod 自动缩放建议,该选项卡提供有关如何优化工作负载的资源请求和限制的见解。

az aks update --resource-group <resource-group-name> --name <cluster-name> --enable-vpa

AKS 桌面功能可用性矩阵

下表概述了哪些 AKS 桌面功能需要特定的群集加载项,以及创建群集后是否可以启用这些加载项:

AKS 桌面功能 无需插件即可正常运行? 必需的加载项 可以在创建群集后启用?
创建项目 是的 Azure RBAC + Entra ID 否(仅限于创建时)
网络策略 否 (静默忽略) Cilium、Calico 或 Azure 网络策略 否(仅限于创建时)
“指标”选项卡 否(显示错误) 托管 Prometheus 是的
缩放图表(CPU %) 否(显示错误) 托管 Prometheus 是的
HPA (水平缩放) 是的 metrics-server (默认包含) 是的
KEDA 扩展 KEDA 附加组件 是的
VPA 扩缩 VPA 加载项 是的