Azure Stack Hub 上的 Azure Kubernetes 服务概述(面向用户)

借助 Azure Kubernetes 服务 (AKS),可在 Azure 和 Azure Stack Hub 中轻松部署 Kubernetes 群集。 AKS 降低了管理 Kubernetes 群集的复杂性和操作开销。

作为一项托管 Kubernetes 服务,Azure Stack Hub 可以处理运行状况监视等关键任务并简化维护。 Azure Stack 团队管理用于维护群集的映像。 群集管理员只需根据需要应用更新。 服务无需额外付费。 AKS 是免费的:仅在群集内使用 VM(主节点和代理节点)需要付费。 它比 AKS 引擎更易使用,因为它消除了 AKS 引擎所需的一些手动任务。

重要

Azure Stack Hub 上的 Azure Kubernetes 服务(目前处于预览阶段)即将停用,不会成为 GA。 有关 Azure Stack Hub 上的 Kubernetes 解决方案,请参阅 AKS 引擎。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

Azure Stack Hub 上的 AKS

你可以使用相同的 Azure CLI、Azure Stack Hub 用户门户、Azure 资源管理器模板和 REST API,以在 Azure 云上的相同方式管理 Azure Stack Hub 上的 AKS 群集。 当你部署 AKS 群集时,系统会为你部署和配置 Kubernetes 主节点和所有节点。

有关 Kubernetes 概念的详细信息,请查看 Kubernetes 文档。 有关全局 Azure 上 AKS 服务的完整文档,请参阅 Azure Kubernetes 服务中的文档。

用户角色和职责

Azure Stack Hub 是一个本地系统,客户可以在其数据中心内使用该系统来运行云原生工作负载。 这些系统支持两种用户类型:云操作员用户

以下任务由 Azure Stack Hub 操作员执行:

  1. 确保在 Azure Stack Hub 实例中提供 Azure Kubernetes 服务基础映像,包括从 Azure 下载这些映像。
  2. 确保为客户计划和用户订阅提供 Azure Kubernetes 服务,就像提供 Azure Stack Hub 中的任何其他服务一样。
  3. 监视 Azure Kubernetes 服务并就任何警报和相关补救措施采取行动。
  4. 有关操作员任务的详细信息,请参阅在 Azure Stack Hub 上安装和提供 Azure Kubernetes 服务

以下任务由用户(即租户 AKS 群集管理员)执行:

  1. 监视 Kubernetes 群集代理的运行状况并就任何事件和相关补救措施采取行动。 即使主节点是在租户订阅中创建的,服务也会监视其状态并根据需要执行修正步骤。 但是,在某些支持方案中,可能需要租户群集管理员将群集恢复到正常状态。
  2. 使用 Azure Kubernetes 服务工具来管理群集的生命周期,即创建、升级和缩放操作。
  3. 维护操作:部署应用程序、备份和还原、故障排除、收集日志和监视应用。
  4. 有关租户任务的详细信息,请参阅通过 CLI 使用 Azure Stack Hub 上的 Azure Kubernetes 服务

功能比较

下表提供了全球 Azure 中的 AKS 功能与 Azure Stack Hub 中的功能的比较概述。

区域 特征 Azure AKS Azure Stack Hub AKS
访问安全性
Kubernetes RBAC
安全中心集成
Microsoft Entra 身份验证/RBAC
Calico 网络策略
监视和日志记录
集成的 Azure 监视(Insights、日志、指标、警报)
主节点的监视和修正
群集指标
顾问建议
诊断设置
Kubernetes 控制平面日志
工作簿
群集和节点
自动节点缩放(自动缩放程序)
定向节点缩放
自动 Pod 缩放
GPU 启用 Pod
存储卷支持
多节点池管理
Azure 容器实例集成和虚拟节点
运行时间 SLA
隐藏的主节点
虚拟网络和入口
默认 VNET
自定义 VNET
HTTP 入口
开发工具
Helm
Dev Studio
DevOps Starter
Docker 映像支持和专用容器注册表
认证
CNCF 认证
群集生命周期管理
AKS Ux
AKS CLI(Windows 和 Linux)
AKS API
AKS 模板
AKS PowerShell

Azure 与 Azure Stack Hub 之间的差异

Azure 与 Azure Stack Hub 上的 AKS 共用同一个源存储库。 两者在概念上没有区别。 但是,在不同环境中操作会带来差异,使用 Azure Stack Hub 上的 AKS 时要注意。 大多数差异与驻留在客户数据中心内的系统有关,并且与 Azure Stack Hub 中尚不可用的功能有关。

客户数据中心已连接或已断开连接的 Azure Stack Hub

在这两种情况下,Azure Stack Hub 都由客户控制。 此外,客户可以在完全断开连接的气隙环境中部署 Azure Stack Hub。 你可能需要考虑以下因素:

  • 对于操作员:
    • 需要确保向租户提供 AKS 服务和相应的映像。
    • 在解决支持事件(例如:收集标记日志)时,需要与租户和 Microsoft 支持部门合作。 有关更多详细信息,请参阅操作员文章。
  • 对于租户:
    • 需要与标记操作员协作,以请求标记中不可用的 AKS 基础映像或 AKS 服务。
    • 还需要在支持案例期间与操作员和 Microsoft 支持部门协作。 其中一项任务是使用此处提供的信息收集与 AKS 群集相关的日志。

使用 CLI 或 PowerShell 连接到 Azure Stack Hub

使用 Azure CLI 连接到 Azure 时,CLI 二进制文件将默认使用 Microsoft Entra ID 进行身份验证,并使用全局 Azure 资源管理器终结点管理 API。 你还可以将 Azure CLI 与 Azure Stack Hub 结合使用。 但是,需要显式连接到 Azure Stack Hub Azure 资源管理器终结点,并使用 Microsoft Entra ID 或 Active Directory 联合身份验证服务 (AD FS) 进行身份验证。 其原因在于,Azure Stack Hub 设计为面向企业,而企业可能会在断开连接的情况下选择 AD FS。

  1. 有关如何通过 PowerShell 使用 Microsoft Entra ID 或 AD FS 标识连接到 Azure Stack Hub 的信息,请参阅以用户身份使用 PowerShell 连接到 Azure Stack Hub

  2. 按照这篇文章中的说明,通过 Azure CLI 使用 Microsoft Entra ID 或 AD FS 标识进行连接。

支持的平台功能

Azure Stack Hub 支持可在全局 Azure 中使用的功能子集。 请注意以下差异:

  • 没有标准负载均衡器。 Azure Stack Hub 仅支持基本负载均衡器,这意味着 Azure Stack Hub 上的 AKS 尚不支持以下依赖于标准负载均衡器的功能:
    • 没有参数 api-server-authorized-ip-ranges </azure/aks/api-server-authorized-ip-ranges>
    • 没有参数 load-balancer-managed-ip-count
    • 没有参数 enable-private-cluster</azure/aks/private-clusters>
    • 没有群集自动缩放程序:</azure/aks/cluster-autoscaler>
    • 没有参数 enable-cluster-autoscaler
    • az aks update 不可用。
    • 不支持多节点池。 节点池命令不可用。
    • 未启用对多节点池操作的 UI 支持。
  • 包含 Azure 区域或可用性区域
  • 没有可用性集,只有虚拟机规模集
  • 查看支持和不支持的命令的命令列表。

支持的服务

缺少某些 Azure 服务会限制 Azure Stack Hub 上 AKS 的某些功能选项:

  • 没有文件服务。 这使得 Azure Stack Hub 中的 Kubernetes 不支持基于文件服务的卷。
  • 没有 Azure Log Analytics 和 Azure 容器监视器。 任何 Kubernetes 群集只要连接到 Internet 就可以连接到 Azure 容器监视器,如果断开连接,Azure Stack Hub 本地没有等效服务。 因此,Azure Stack Hub 上的 AKS 不提供对 Azure 容器监视器的集成支持。
  • 没有 Azure DevOps。 由于此服务不可用于断开连接的 Azure Stack Hub,因此不对其提供集成支持。

支持的 AKS API 和 Kubernetes 版本

在支持的 Kubernetes 和 AKS API 版本中,Azure Stack Hub AKS 通常滞后于 Azure。 这是因为难以为客户提供在他们自己的数据中心运行的代码。

在 Azure Stack Hub 上使用 AKS CLI 时要更改的默认 Azure AKS CLI 参数值

鉴于上述两个平台之间的差异,用户应注意,命令和 API 中的参数的某些默认值适用于 Azure AKS,但不适用于 Azure Stack Hub AKS。 例如:

通用参数 备注
--service-principal --client-secret Azure Stack Hub 尚不支持托管标识;始终需要服务主体凭据。
--load-balancer-sku basic Azure Stack Hub 尚不支持标准负载均衡器 (SLB)。
--location 位置值特定于客户选择的位置。

服务主体可由 Microsoft Entra ID 或 AD FS 提供

创建和管理 AKS 群集时需要提供服务主体 (SPN)。 由于 Azure Stack Hub 可以在与 Internet 断开连接的模式下部署,它必须具有 Microsoft Entra ID 的替代标识管理器,因此将使用 Active Directory 联合身份验证服务 (AD FS)。 下面介绍了 Azure Stack Hub 租户如何创建 SPN:

后续步骤

了解如何使用 Azure Stack Hub 上的 AKS