AKS 桌面支持标准 AKS 群集和自动(推荐)AKS 群集。 但是,设置和两个层之间可用的功能存在一些差异。 本文介绍适用于 AKS 桌面的推荐 Azure Kubernetes 服务(AKS)群集配置和加载项。
先决条件
- 一份 Azure 订阅。 如果没有帐户,请创建 Azure 帐户。
- Azure CLI 2.64.0 或更高版本。 检查你的
az --version版本,并根据需要进行 安装或升级。 - 这是
aks-previewAzure 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 桌面的全部潜力:
| 功能 | 它在 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 加载项 | 是的 |