你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Kubernetes 服务 (AKS)是用于部署和管理容器化应用程序的托管 Kubernetes 服务。 AKS 将管理 Kubernetes 的复杂性和运维开销转交给 Azure。 AKS 提供两种群集模式:
- AKS 自动:完全托管的服务体验,采用生产就绪的默认设置。 Azure会自动处理节点管理、缩放、安全性、监视和升级。 推荐用于大多数团队和工作负载。
- AKS 标准:完全控制群集配置和节点池管理。 建议在具有特定的基础结构要求或现有自动化时使用。
本文适用于寻找可缩放、自动化、托管 Kubernetes 解决方案的平台管理员或开发人员。 如果你想尽可能减少运维开销,并快速获得可投入生产的群集,AKS Automatic正是为你量身打造的。
AKS 概述
AKS 通过将责任转移到Azure,减少了管理 Kubernetes 的复杂性和操作开销。 创建 AKS 群集时,Azure会自动为你创建和配置控制平面,无需任何费用。 Azure平台管理 AKS 控制平面,该平面负责部署以运行应用程序的 Kubernetes 对象和工作器节点。 Azure负责运行状况监视和维护等关键操作,并且只需为运行应用程序的 AKS 节点付费。
注意
AKS 是 CNCF 认证的,并且符合 SOC、ISO、PCI DSS 和 HIPAA 规范。 有关详细信息,请参阅 Microsoft Azure 合规性概述。
选择 AKS 模式
AKS 提供两种用于创建和操作群集的模式。 使用下表选择符合需求的模式:
| 功能 | AKS 自动化 | AKS 标准版 |
|---|---|---|
| 最适用于 | 开发人员团队、新工作负载、快速载入和生产应用程序 | 需要完全掌控基础设施的平台团队 |
| 节点管理 | 完全托管 - 使用节点自动预配自动Azure预配、缩放和升级节点 | 手动创建和管理节点池 |
| 安全默认值 | Azure RBAC、工作负荷标识、OIDC 颁发者、强制模式下的部署安全措施以及映像清理器默认处于启用状态 | 按功能选择启用 |
| Monitoring | 托管的 Prometheus、Container Insights 以及带 Grafana 的 Azure Monitor 仪表板默认开启 | 按功能选择启用 |
| 群集升级 | 通过稳定通道自动进行;操作系统映像升级通过 NodeImage 通道进行 | 默认情况下手动; 自动升级通道 是可选的 |
| 缩放 | HPA、 KEDA 和 VPA 已预配置;节点是按需创建的 | 默认情况下,手动缩放;群集自动缩放程序和 KEDA 是可选的 |
| Pod 就绪 SLA | 具有财务保障的承诺:Pod 就绪 SLA,保证 99.9% 的符合条件的 Pod 能在五分钟内就绪 | 不包括 |
| 群集定价层 | 包含正常运行时间 SLA 的标准定价层,且无需额外付费 | 默认情况下,免费定价层;标准或高级定价层是可选的 |
| 入口 | 托管型 NGINX,集成 Azure DNS 和 密钥保管库 — 已预配置 | 可选;自带入口控制器或使用 应用程序路由加载项 |
如果希望Azure管理基础结构操作,以便团队能够专注于应用程序,请使用 AKS 自动。 当你需要自定义网络配置、Windows 节点池、Automatic 中尚不可用的特定 VM SKU,或已围绕手动群集管理构建了现有自动化时,请使用 AKS Standard。
有关功能的完整比较,请参阅 AKS 自动和标准功能比较。
Azure 中的容器解决方案
Azure提供了一系列容器解决方案,旨在满足各种工作负载、体系结构和业务需求。
| 容器解决方案 | 资源类型 |
|---|---|
| Azure Kubernetes 服务 | 托管 Kubernetes |
| Azure Red Hat OpenShift | 托管 Kubernetes |
| 已启用 Azure Arc 的 Kubernetes | 非托管 Kubernetes |
| Azure 容器实例 (ACI) | 托管 Docker 容器实例 |
| Azure 容器应用 | 托管 Kubernetes |
有关比较各种解决方案的详细信息,请参阅以下资源:
何时使用 AKS
注意
对于大多数新工作负载,建议使用 AKS 自动。 它开箱即具备生产就绪能力,提供自动节点预配、内置默认安全配置、预配置监控、自动升级,以及一项 Pod 就绪 SLA,保证 99.9% 的合格 Pod 在五分钟内达到就绪状态。 获取这些功能不需要其他配置。 有关详细信息,请参阅 什么是 AKS 自动?
下面的列表介绍了 AKS 的一些常见用例:
- 使用 AKS 直接迁移到容器:将现有应用程序迁移到容器,并在完全托管的 Kubernetes 环境中运行它们。
- 使用 AKS 的微服务:通过简化的水平缩放、自我修复、负载均衡和机密管理,简化基于微服务的应用程序的部署和管理。
- 保护 AKS 的 DevOps:使用 Kubernetes 实现安全 DevOps,从而有效平衡速度和安全性。
- 从 AKS 与 ACI 一起突发扩展:使用虚拟节点在 ACI 内部预配秒级启动的 Pod 并扩展以满足需求。
- 使用 AKS 进行机器学习模型训练:使用大型数据集以及熟悉的工具(例如 TensorFlow 和 Kubeflow)训练模型。
- 使用 AKS 的数据流:引入和处理通过传感器收集的数百万个数据点的实时数据流,并执行快速分析和计算,以开发对复杂方案的见解。
- 在 AKS 上使用Windows容器:在 AKS 上运行Windows Server容器以现代化Windows应用程序和基础结构。
AKS 的功能
下表列出了 AKS 的主要功能。 标记为 “自动:预配置” 的功能默认在每个 AKS 自动群集上启用,无需额外配置。
| 功能 | 说明 |
|---|---|
| 标识和安全管理 | • 使用 Azure Policy 强制实施<,0>法规遵从性控制,并包含内置防护措施和网络安全基准。 • 与 Kubernetes RBAC 集成,以限制对群集资源的访问。 • 使用 Microsoft Entra ID 以根据现有标识和组成员身份设置 Kubernetes 访问。 自动:预配置 - Azure RBAC for Kubernetes 授权、工作负荷标识、OIDC 颁发者、强制模式下的部署安全措施以及映像清理器默认处于启用状态。 |
| 日志记录和监视 | • 与 Container Insights(Azure Monitor 中的一项功能)集成,以监视群集和容器化应用程序的运行状况和性能。 • 设置 高级容器网络服务 以收集和可视化群集中的网络流量数据。 自动:预配置 — 托管的 Prometheus、Container Insights 以及基于 Grafana 的 Azure Monitor 仪表板默认处于启用状态。 |
| 简化的部署 | • 为 Kubernetes 使用带有智能默认值的预构建集群配置。 • 使用 由 Kubernetes 事件驱动的自动扩缩 (KEDA) 自动扩缩应用程序。 • 使用 AKS 草稿 准备源代码,并为生产准备应用程序。 自动:预配置 - 已启用 HPA、 KEDA 和 VPA ,并可在每个自动群集上使用。 |
| 群集和节点 | • 将存储连接到节点和 Pod、升级群集配置以及使用 GPU。 • 创建运行多个节点池的群集以支持混合操作系统和Windows Server容器。 • 使用群集自动缩放程序和水平 Pod 自动缩放程序配置自动缩放。 • 部署具有机密计算节点的群集,以允许容器在基于硬件的受信任执行环境中运行。 自动:预配置 - 节点自动预配 完全管理节点的创建和缩放;无需手动节点池配置。 |
| 存储卷支持 | • 为永久性数据装载静态或动态存储卷。 • 使用 Azure 容器存储实现块存储的完全托管、基于云的卷管理和编排。 Azure容器存储与 Kubernetes 集成,允许动态和自动预配永久性卷。 • 将 Azure 磁盘 CSI 驱动程序用于单个 Pod 访问,Azure 文件存储 CSI 驱动程序用于多并发 Pod 访问。 • 使用 Azure NetApp 文件 实现高性能、高吞吐量和低延迟文件共享。 |
| 联网 | • 根据需要从 网络选项中进行选择 。 • 自带容器网络接口 (CNI) 以使用第三方 CNI 插件。 • 使用带有 nginx 的应用程序路由附加组件轻松访问部署到群集的应用程序。 自动:预配置 - 由 Cilium 提供支持的 Azure CNI Overlay可提供高性能网络,并且默认配置了与 Azure DNS 和 密钥保管库 集成的托管 NGINX 入口,以及用于出站流量的托管 NAT 网关。 |
| 开发工具集成 | • 使用 Helm 在 AKS 上进行开发。 • 安装 用于 Visual Studio Code 的 Kubernetes 扩展 来管理工作负荷。 • 利用基于 Istio 的服务网格附加产品,充分利用 Istio 的功能。 |
AKS 入门
AKS 自动入门(建议)
AKS Automatic 是快速构建可投入生产的群集的最快途径,并内置安全、监控和自动缩放功能。 根据你的起点选择快速入门:
- 从容器映像开始: 部署 AKS 自动群集 - 在几分钟内获取完全配置的群集。
- 从源代码开始:使用 AKS 自动从源代码转到 Kubernetes - 自动部署直接从存储库生成 Kubernetes 清单和 CI/CD 工作流。
AKS 标准版入门
需要完全控制群集配置时,请使用 AKS Standard:
- 了解 AKS 的核心 Kubernetes 概念。
- 使用 AKS 教程系列评估 AKS 上的应用程序部署。
所有 AKS 用户的资源
- 查看适用于 AKS 的 Azure Well-Architected 框架了解如何在 AKS 上设计和运行可靠、安全、高效且经济高效的应用程序。
- 使用参考体系结构规划 AKS 的设计和操作。
- 浏览 AKS 上的配置选项以及成本优化的建议最佳做法。