你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

群集设计和操作

本文介绍群集配置和网络设计。 了解如何通过自动化基础结构预配实现面向未来的可伸缩性。 预配是设置你需要的 IT 基础结构的过程。 自动化基础结构预配支持远程安装并会设置虚拟环境。 还会通过针对业务连续性和灾难恢复进行规划来帮助保持高可用性。

计划、训练和证明

在你开始时,下面的清单和 Kubernetes 资源将帮助你规划群集设计。 在本节结束时,你将能够回答以下问题:

  • 你是否确定了群集的网络设计要求?
  • 你的某些服务有不同要求吗? 你打算使用多少个节点池?

清单:

  • 确定网络设计注意事项。 了解群集网络设计注意事项,比较网络模型,并选择适合你需求的 Kubernetes 网络插件。 对于 Azure 容器网络接口 (CNI) 网络,将所需的 IP 地址数视为每个节点的最大 pod 数(默认值为 30)和节点数的倍数。 升级过程中需要增加 1 个节点。 在选择负载均衡器服务时,请考虑在服务过多时使用入口控制器以减少暴露端点的数量。 对于 Azure CNI,服务 CIDR 在虚拟网络和所有连接的虚拟网络中必须是唯一的,以确保路由得当。

    若要了解更多信息,请参阅以下文章:

  • 创建多个节点池。 为了支持具有不同计算或存储需求的应用程序,你可以选择为你的群集配置多个节点池。 例如,使用额外节点池可为计算密集型应用程序提供 GPU,或访问高性能 SSD 存储。 有关详细信息,请参阅为 Azure Kubernetes 服务中的群集创建和管理多个节点池

  • 确定可用性要求。 如果 pod 出现故障或重新启动,Azure Kubernetes 服务后面至少有两个 pod 可确保应用程序的高可用性。 使用三个或多个 Pod 在 Pod 故障和重启期间处理负载。 对于群集配置,可用性集或虚拟机规模集中至少需要两个节点才能满足 99.95% 的服务级别协议。 至少使用三个 Pod 来确保在节点故障和重新启动期间进行 Pod 计划。

    若要为应用程序提供更高级别的可用性,可以将群集分散到可用性区域。 这些区域在物理上是给定区域中的数据中心。 当群集组件分布在多个区域时,你的群集可以容忍其中一个区域出现故障。 即使整个数据中心出现中断,你的应用程序和管理操作仍然可用。 有关详细信息,请参阅创建使用可用性区域的 Azure Kubernetes 服务 (AKS) 群集

进入生产环境并应用基础架构最佳做法

在为生产准备应用程序时,请实施一组最少的最佳做法。 在此阶段使用此清单。 在本节结束时,你将能够回答以下问题:

  • 你是否能够自信地重新部署群集基础架构?
  • 你是否申请了资源配额?

清单:

  • 自动执行群集预配。 借助基础结构即代码,你可以自动执行基础结构预配,以便在灾难期间提供更高的复原能力,并获得敏捷性,以便根据需要快速重新部署基础结构。 有关详细信息,请参阅使用 Terraform 和 Azure Kubernetes 服务 (AKS) 创建 Kubernetes 群集

  • 使用 pod 中断预算来规划可用性。 若要维持应用程序的可用性,请定义 Pod 中断预算 (PDB),以确保在硬件故障或群集升级期间群集中有最少量的 Pod 可供使用。 有关详细信息,请参阅使用 pod 中断预算进行可用性规划

  • 对命名空间强制实施资源配额。 在命名空间级别规划和应用资源配额。 可以对计算资源、存储资源和对象计数设置配额。 有关详细信息,请参阅强制实施资源配额

优化和缩放

一旦应用程序投入生产,你如何优化你的工作流程并让你的应用程序和团队准备好进行扩展? 使用优化和缩放检查清单进行准备。 在本节结束时,你将能够回答以下问题:

  • 你是否有业务连续性和灾难恢复计划?
  • 群集能否进行缩放以满足应用程序需求?
  • 能否监视群集和应用程序运行状况并接收警报?

清单: