你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
关系 Kubernetes 群集概述
本文介绍关系 Kubernetes 群集的核心概念,这是一种托管 Kubernetes 服务,可用于在 Azure 运营商关系平台上部署和操作容器化应用程序
什么是 Kubernetes?
Kubernetes 是一个快速发展的平台,用于管理基于容器的应用程序及其相关网络和存储组件。 Kubernetes 重点关注应用程序工作负载,而不是底层基础结构组件。 它提供了一种声明性的部署方法,由一组强大的 API 管理操作提供支持。 请参阅什么是 Kubernetes 以了解 Kubernetes。
关系 Kubernetes 服务
关系 Kubernetes 群集服务是一个 Kubernetes 分发,专为通过关系实例进行本地部署而设计。 它旨在简化容器的自动创建,并针对运行与数据密集型网络功能关联的工作负载进行了优化。
与任何 Kubernetes 群集一样,关系 Kubernetes 群集有两个组件:
控制平面:提供 Kubernetes 核心服务并管理应用程序工作负载的生命周期。
节点:要运行应用程序和支持服务,需要一个 Kubernetes 节点。 它提供容器运行时环境。 每个 NKS 群集至少有一个节点。 节点托管在运行 Kubernetes 节点组件的虚拟机 (VM) 中。 VM 作为关系实例上 NKS 群集部署的一部分创建。 关系 Kubernetes 群集中有两种类型的节点池
- 创建 AKS 群集时,你会定义节点的初始数量和大小 (SKU),这会创建系统节点池。 系统节点池会托管关键系统 Pod。
- 另一方面,为了支持具有不同计算或存储需求的应用程序,可以创建用户节点池(也称为关系代理池)。 关系代理池中的每个 VM 都遵循统一的配置,例如 CPU、内存、磁盘等。 建立代理池后,其中的 VM 数就保持不变。 要缩放关系 Kubernetes 群集的容量,可以创建更多代理池并将其集成到现有群集中。 换句话说,关系代理池通过允许在关系 Kubernetes 群集中添加或移除代理池来支持水平缩放。
但是,如果用户只需要其群集中有一个节点池,可以在系统节点池上计划应用程序 Pod。 每个关系 Kubernetes 群集必须至少包含一个系统节点池,该池至少包含一个节点。
关系 Kubernetes 群集附加组件
关系 Kubernetes 群集附加组件是关系平台的一项功能,允许客户使用额外的包或功能来增强其关系 Kubernetes 群集。 这些附加组件分为两种类型:必需和可选。
必需的附加组件:此类附加组件自动部署到预配的关系 Kubernetes 群集中。 创建群集时,默认包含 Calico、MetalLB、关系存储 CSI、IPAM 插件、metrics-server、node-local-dns、Arc for Kubernetes 和 Arc for Servers 等核心附加组件。 群集预配过程的成功完成依赖于这些附加组件的成功安装。 如果必需的附加组件安装失败且无法修复,则群集状态标记为失败。
可选附加组件:此类附加组件是与 Kubernetes 群集资源关联的补充服务。 客户可以选择按需激活或停用这些附加组件。 补充服务的示例可能包括在 NKS 群集中部署群集级本地映像缓存注册表以支持断开连接的方案。 NKS 使客户能够观察每个必需和可选附加组件的状态、运行状况和版本,可在 Azure 门户上监视这些组件,也可以使用 Azure 资源管理器 API 提取状态。
这些附加组件只需安装一次,并且只能在客户升级关系 Kubernetes 群集时更新或升级。 它使客户能够应用关键的生产修补程序,而不会受到底层基础结构操作的干扰,否则这些操作可能会覆盖其群集修改。
关系可用区域
关系引入了可用性区域的概念。 它在机架级别进行划分,允许客户将工作负载分散到实例中,以实现更好的可用性。 对于具有 8 个机架的关系实例,客户会获得 8 个可用性区域。 每个区域都包含一对具有冗余的管理服务器和一组充当资源池的计算服务器。 在关系中进行多机架部署期间和执行运行时捆绑升级时,可用性区域提供的另一个好处是充当升级域。 这可以确保最多只有单个机架内的服务器才会脱机进行这些升级。
失败域
运营商关系可确保关系 Kubernetes 群集节点分布在升级域中。 这种分布以可以改进群集复原能力和可用性的方式完成。 运营商关系使用 Kubernetes 相关性规则来计划特定区域中的节点。 它可确保基础 VM 不会放置在同一物理服务器或同一升级域中,从而提高群集的容错能力。