培训
认证
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 关系数据库产品/服务,管理云、本地和混合关系数据库的 SQL Server 数据库基础结构。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在云中创建和管理应用程序时,始终存在因故障和灾难而造成中断的风险。 为了确保业务连续性 (BC),需要规划高可用性 (HA) 和灾难恢复 (DR)。
HA 是指高度可靠且故障时间最短的系统或服务的设计和实施。 HA 是工具、技术和流程的组合,可确保系统或服务能够执行其预期功能。 HA 是 DR 规划的重要组成部分。 DR 是从灾难中恢复并将业务运营恢复到正常状态的过程。 DR 是 BC 的一部分,后者是维持业务功能或在发生重大中断时快速恢复业务功能的过程。
本文介绍部署到 AKS 的应用程序的一些建议做法,但并未详尽列出所有可能的解决方案。
Kubernetes 群集分为两个组件:
创建 AKS 群集时,Azure 平台会自动创建并配置控制平面。 AKS 为群集管理提供两个定价层:免费层和标准层。 有关详细信息,请参阅 AKS 群集管理的免费和标准定价层。
控制平面及其资源仅驻留在创建群集的区域。 AKS 提供单租户控制平面、专用 API 服务器、计划程序等。你定义节点的数量和大小,Azure 平台配置控制平面和节点之间的安全通信。 通过 Kubernetes API(例如 kubectl
或 Kubernetes 仪表板)与控制平面进行交互。
要运行应用程序和支持服务,需要 Kubernetes 节点。 一个 AKS 群集至少有一个节点,这是运行 Kubernetes 节点组件和容器运行时的 Azure 虚拟机 (VM)。 节点的 Azure VM 大小定义了 CPU、内存大小以及可用存储类型(如高性能 SSD 或常规 HDD)。 围绕应用程序是否需要大量 CPU、内存或高性能存储来计划 VM 和存储大小。 在 AKS 中,群集节点的 VM 映像基于 Ubuntu Linux、Azure Linux 或 Windows Server 2022。 创建 AKS 群集或横向扩展节点数时,Azure 平台会自动创建和配置所请求数量的 VM。
有关 AKS 中的群集和工作负载组件的详细信息,请参阅AKS 的 Kubernetes 核心概念。
区域资源作为部署标记的一部分预配到单个 Azure 区域。 这些资源与其他区域的资源不共享,并且可以独立删除或复制到其他区域。 有关详细信息,请参阅区域资源。
全局资源共享系统的生命周期,并且可以在多区域部署的上下文中全局可用。 有关详细信息,请参阅全局资源。
完整的灾难恢复计划必须指定应用程序实施的每个流程的业务要求:
可以使用可用性区域将数据分布到同一区域的多个可用性区域。 在一个区域内,可用性区域足够近,可以与其他可用性区域建立低延迟连接,但它们相距甚远,可以降低多个可用性区域受到本地中断或天气影响的可能性。 有关详细信息,请参阅有关使用可用性区域和区域的建议。
AKS 群集能够抵御区域故障。 如果某个区域发生故障,群集仍然可以在其余区域运行。 群集的控制平面和节点分布在各个区域,Azure 平台会自动处理节点的分布。 有关详细信息,请参阅 AKS 区域复原能力。
全局负载均衡服务跨区域后端、云或混合本地服务分发流量。 这些服务将最终用户流量路由到最近的可用后端。 它们还对服务可靠性或性能的变化做出反应,以最大程度地提高可用性和性能。 以下 Azure 服务提供全局负载均衡:
区域负载均衡服务在虚拟网络中跨虚拟机或区域中的区域和区域冗余服务终结点分发流量。 以下 Azure 服务提供区域负载均衡:
需要从应用程序和基础结构收集数据,以便有效操作并最大程度地提高可靠性。 Azure 提供用于监视和管理 AKS 工作负载的工具。 有关详细信息,请参阅可观测性资源。
在管理 AKS 群集时,应用程序正常运行时间变得非常重要。 默认情况下,AKS 通过在虚拟机规模集中使用多个节点来提供高可用性,但这些节点不能保护系统免受区域故障的影响。 为了最大限度地延长正常运行时间,请提前规划以保持业务连续性,并遵循以下最佳做法,为灾难恢复做好准备:
部署模型 | 优点 | 缺点 |
---|---|---|
主动-主动 | • 故障转移期间不会出现数据丢失或不一致的情况 • 高复原能力 • 资源利用更充分,性能更高 |
• 复杂的实施和管理 • 成本更高 • 需要负载均衡器和流量路由形式 |
主动-被动 | • 实施和管理更简单 • 成本更低 • 不需要负载均衡器或流量管理器 |
• 故障转移期间可能会出现数据丢失或不一致的情况 • 恢复时间和故障时间更长 • 资源利用不足 |
被动-寒 | • 成本最低 • 不需要同步、复制、负载均衡器或流量管理器 • 适用于低优先级非关键工作负载 |
• 故障转移期间出现数据丢失或不一致情况的风险很高 • 恢复时间和故障时间最长 • 需要手动干预来激活群集并触发备份 |
在主动-主动高可用性 (HA) 部署模型中,在两个不同的 Azure 区域(通常是配对区域,例如加拿大中部和加拿大东部或美国东部 2 和美国中部)部署了两个独立的 AKS 群集,用于主动提供流量服务。
在此示例体系结构中:
若要在 AKS 中创建主动-主动部署模型,请执行以下步骤:
在两个不同的 Azure 区域中创建两个相同的部署。
创建两个 Web 应用实例。
使用以下资源创建 Azure Front Door 配置文件:
将网络流量限制为仅从 Azure Front Door 实例流向 Web 应用。 5. 配置所有其他后端 Azure 服务,例如数据库、存储帐户和身份验证提供程序。
通过持续部署将代码部署到这两个 Web 应用。
有关详细信息,请参阅 AKS 的建议主动-主动高可用性解决方案概述。
在主动-被动灾难恢复 (DR) 部署模型中,在两个不同的 Azure 区域(通常是配对区域,例如加拿大中部和加拿大东部或美国东部 2 和美国中部)部署了两个独立的 AKS 群集,用于主动提供流量服务。 在任何给定时间,只有一个群集主动提供流量服务。 另一个群集包含与主动群集相同的配置和应用程序数据,但除非流量管理器指示,否则不接受流量。
在此示例体系结构中:
若要在 AKS 中创建主动-被动部署模型,请执行以下步骤:
在两个不同的 Azure 区域中创建两个相同的部署。
为辅助应用程序配置自动缩放规则,以便在主要区域变为非活动状态时,该计划缩放到与主要计划相同的实例计数。 处于非活动状态时,无需纵向扩展。 这有助于降低成本。
创建 Web 应用程序的两个实例,每个群集一个。
使用以下资源创建 Azure Front Door 配置文件:
将网络流量限制为仅从 Azure Front Door 实例流向 Web 应用程序。
配置所有其他后端 Azure 服务,例如数据库、存储帐户和身份验证提供程序。
通过持续部署将代码部署到这两个 Web 应用程序。
有关详细信息,请参阅 AKS 的建议主动-被动灾难恢复解决方案概述。
被动-寒故障转移部署模型的配置方式与主动-被动灾难恢复部署模型相同,不同之处在于群集将保持非活动状态,直到用户在发生灾难时激活它们。 我们认为这种方法超出范围,因为它涉及与主动-被动类似的配置,但增加了激活群集和触发备份的手动干预的复杂性。
在此示例体系结构中:
若要在 AKS 中创建被动-寒故障转移部署模型,请执行以下步骤:
有关详细信息,请参阅 AKS 的建议被动-寒灾难恢复解决方案概述。
AKS 为资源和功能设置默认限制和配额,包括特定 VM SKU 的使用限制。
资源 | 限制 |
---|---|
全局范围内每个订阅的最大群集数 | 5,000 |
每个区域每个订阅的最大群集数 1 | 100 |
包含虚拟机规模集和标准负载均衡器 SKU 的每个群集的最大节点数 | 5,000(所有节点池的总上限) 注意:如果无法将每个群集纵向扩展到 5,000 个节点,请参阅大型群集的最佳做法。 |
每个节点池的最大节点数(虚拟机规模集节点池) | 1000 |
每个群集的最大节点池数 | 100 |
每个节点的最大 Pod 数:带 Kubenet 网络插件1 | 最大值:250 Azure CLI 默认值:110 Azure 资源管理器模板默认值:110 Azure 门户部署默认值:30 |
每个节点的最大 Pod 数:带 Azure 容器网络接口 (Azure CNI)2 | 最大值:250 建议用于 Windows Server 容器的最大数量:110 默认值:30 |
Open Service Mesh (OSM) AKS 加载项 | Kubernetes 群集版本:AKS 支持的版本 每个群集的 OSM 控制器数:1 每个 OSM 控制器的 Pod 数:1600 由 OSM 管理的 Kubernetes 服务帐户数:160 |
具有标准负载均衡器 SKU 的每个群集的最大负载均衡 kubernetes 服务 | 300 |
包含虚拟机可用性集和基本负载均衡器 SKU 的每个群集的最大节点数 | 100 |
1 请求时允许更多。
2 Windows Server 容器必须使用 Azure CNI 网络插件。 Windows Server 容器不支持 Kubenet。
Kubernetes 控制平面层 | 限制 |
---|---|
标准层 | 根据负载自动缩放 Kubernetes API 服务器。 更大的控制平面组件限制和 API 服务器/etcd 实例。 |
免费层 | 资源有限,即时请求限制为 50 个变动调用和 100 个只读调用。 建议的节点限制为每个群集 10 个节点。 最适合试验、学习和简单测试。 不建议用于生产/关键工作负载。 |
有关详细信息,请参阅 AKS 服务的配额和限制。
Azure 备份支持使用备份扩展备份 AKS 群集资源和附加到群集的永久性卷。 备份保管库通过扩展与 AKS 群集通信以执行备份和还原操作。
有关详细信息,请参阅以下文章:
培训
认证
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 关系数据库产品/服务,管理云、本地和混合关系数据库的 SQL Server 数据库基础结构。