重要
Azure Stack Hub 上的 Azure Kubernetes 服务(以前是预览版功能)已停用,不再受支持。 请参阅 Azure Stack Hub 上的 Kubernetes 解决方案的 AKS 引擎 文档。
使用 Azure Kubernetes 服务(AKS),可以轻松地在 Azure 和 Azure Stack Hub 中部署 Kubernetes 群集。 AKS 降低了管理 Kubernetes 群集的复杂性和操作开销。
作为托管 Kubernetes 服务,Azure Stack Hub 负责处理运行状况监视等关键任务,并便于维护。 Azure Stack Hub 团队管理用于维护群集的映像。 群集管理员只需根据需要应用更新。 服务无需额外付费。 AKS 是免费的;只需付费即可在群集中使用 VM(主节点和代理节点)。 使用起来比 AKS 引擎 更简单,因为它删除了 AKS 引擎所需的一些手动任务。
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作员:
- 确保 Azure Stack Hub 实例中提供了 Azure Kubernetes 服务基础映像。 如有必要,请从 Azure 下载它们。
- 确保为客户计划和用户订阅提供 Azure Kubernetes 服务,就像提供 Azure Stack Hub 中的任何其他服务一样。
- 监视 Azure Kubernetes 服务并就任何警报和相关补救措施采取行动。
- 有关操作员任务的详细信息,请参阅在 Azure Stack Hub 上安装和提供 Azure Kubernetes 服务
以下任务对应于用户;即租户 AKS 群集管理员:
- 监视 Kubernetes 群集代理的运行状况并就任何事件和相关补救措施采取行动。 即使代理是在租户订阅中创建的,服务也会监视其状态,并根据需要执行修正步骤。 但是,在某些情况下,可能需要租户群集管理员将群集恢复到正常状态。
- 使用 Azure Kubernetes 服务设施管理群集的生命周期,以便创建、升级和缩放作。
- 维护操作:部署应用程序、备份和还原、故障排除、收集日志和监视应用。
- 有关租户任务的详细信息,请参阅通过 CLI 使用 Azure Stack Hub 上的 Azure Kubernetes 服务
功能比较
下表提供了全球 Azure 中的 AKS 功能与 Azure Stack Hub 中的功能的比较概述。
区域 | 特征 | Azure AKS | Azure Stack Hub AKS |
---|---|---|---|
访问安全性 | |||
Kubernetes RBAC | 是 | 是 | |
安全中心集成 | 是 | 是 | |
Microsoft Entra 身份验证/RBAC | 是 | 否 | |
Calico 网络策略 | 是 | 否 | |
监视和日志记录 | |||
集成的 Azure 监视(见解、日志、指标、警报) | 是 | 否 | |
监视和修正主节点 | 是 | 是 | |
群集指标 | 是 | 是 | |
顾问建议 | 是 | 否 | |
诊断设置 | 是 | 是 | |
Kubernetes 控制平面日志 | 是 | 是 | |
工作簿 | 是 | 否 | |
群集和节点 | |||
自动节点缩放(自动缩放程序) | 是 | 否 | |
定向节点缩放 | 是 | 是 | |
自动 Pod 缩放 | 是 | 是 | |
GPU 启用 Pod | 是 | 否 | |
存储卷支持 | 是 | 是 | |
多个节点池管理 | 是 | 否 | |
Azure 容器实例集成和虚拟节点 | 是 | 否 | |
运行时间 SLA | 是 | 否 | |
隐藏的主节点 | 是 | 否 | |
虚拟网络和入口 | |||
默认 VNET | 是 | 是 | |
自定义 VNET | 是 | 是 | |
HTTP 入口 | 是 | 否 | |
开发工具 | |||
掌舵 | 是 | 是 | |
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 进行身份验证,以及用于 API 的全局 Azure 资源管理器终结点。 还可以将 Azure CLI 与 Azure Stack Hub 配合使用。 但是,必须显式连接到 Azure Stack Hub Azure 资源管理器终结点,并使用 Microsoft Entra ID 或 Active Directory 联合服务(AD FS)进行身份验证。 其原因在于,Azure Stack Hub 设计为面向企业,而企业可能会在断开连接的情况下选择 AD FS。
- 有关如何使用 PowerShell Microsoft Entra ID 或 AD FS 标识连接到 Azure Stack Hub 的信息,请参阅以 用户身份使用 PowerShell 连接到 Azure Stack Hub。
- 请参阅本文,了解如何 将 Azure CLI 与 Microsoft Entra ID 或 AD FS 标识配合使用。
支持的平台功能
Azure Stack Hub 支持可在全局 Azure 中使用的功能子集。 请注意以下差异:
- 没有标准负载均衡器。 Azure Stack Hub 仅支持基本负载均衡器。 此支持意味着 Azure Stack Hub 上的 AKS 尚不提供以下功能,具体取决于标准负载均衡器:
- API 服务器授权 IP 范围没有参数。
- 负载均衡器托管 IP 计数没有参数。
- 没有 用于启用专用群集的参数。
- 无 群集自动缩放程序。
- az aks update 不可用。
- 不支持多个节点池。 节点池命令不可用。
- 未启用对多个节点池作的 UI 支持。
- 无 Azure 区域或可用性区域。
- 无可用性集,仅虚拟机规模集。
- 查看支持和不支持的命令的命令列表。
支持的服务
缺少某些 Azure 服务会限制 Azure Stack Hub 上的 AKS 中的某些功能选项:
- 无文件服务。 不支持 Azure Stack Hub 上的 Kubernetes 中基于文件服务的卷。
- 没有 Azure Log Analytics 和 Azure 容器监视器。 只要连接到 Internet,任何 Kubernetes 群集都可以连接到 Azure 容器监视器。 如果断开连接,Azure Stack Hub 中没有等效的服务。 因此,Azure Stack Hub 上的 AKS 中没有对 Azure 容器监视器的集成支持。
- 没有 Azure DevOps。 由于此服务不适用于断开连接的 Azure Stack Hub,因此没有集成的支持。
支持的 AKS API 和 Kubernetes 版本
通常,Azure Stack Hub 上的 AKS 在 Kubernetes 和 AKS API 支持的版本中落后于 Azure。 这种缺乏支持是由于客户难以在自己的数据中心运行代码。
在 Azure Stack Hub 上使用 AKS CLI 时要更改的默认 Azure AKS CLI 参数值
鉴于这两个平台之间的差异,命令和 API 中可用于 Azure AKS 的参数的一些默认值不适用于 Azure Stack Hub AKS。 例如:
通用参数 | 备注 |
---|---|
--service-principal --client-secret |
Azure Stack Hub 尚不支持托管标识;始终需要服务主体凭据。 |
--location |
位置值特定于客户选择的位置。 |
服务主体可由 Microsoft Entra ID 或 AD FS 提供
创建和管理 AKS 群集时需要提供服务主体 (SPN)。 由于 Azure Stack Hub 可以在与 Internet 断开连接的模式下部署,因此它必须具有备用标识管理器才能Microsoft Entra ID 可用。 因此,使用 Active Directory 联合服务(AD FS)。 下面介绍了 Azure Stack Hub 租户如何创建 SPN: