在 AKS 中扩展应用

Azure 计算解决方案

Florin Angelescu

Azure Cloud Architect

为何需要扩缩

 

低流量

高流量

 

  • 应用的流量很少恒定:

    • 有些时段较空闲
    • 有些时段出现峰值
  • 若不扩缩:

    • 工作负载可能过载
    • 导致性能差或停机
Azure 计算解决方案

为何需要扩缩

 

Kubernetes

 

  • Kubernetes 提供动态调整资源的机制。
  • 应用可高效应对需求。
  • 扩缩可确保:
    • 用户体验一致
    • 组织优化成本
Azure 计算解决方案

手动扩容

手动扩容

使用 kubectl scale 增减部署的副本数。

Azure 计算解决方案

手动扩容

手动扩容

将 Web 应用从 2 个副本扩至 4 个:

  • 提供更多 Pod 以处理请求
Azure 计算解决方案

手动扩容

 

手动扩容

手动扩容

 

 

适用于:

  • 计划上线
  • 促销活动
  • 清仓/特卖
Azure 计算解决方案

水平 Pod 自动扩缩器(HPA)

HPA

Azure 计算解决方案

水平 Pod 自动扩缩器(HPA)

HPA

监控指标(CPU、内存),并自动调整副本数。

Azure 计算解决方案

水平 Pod 自动扩缩器(HPA)

HPA

使用率高于阈值:

  • 自动创建更多 Pod
Azure 计算解决方案

水平 Pod 自动扩缩器(HPA)

HPA

需求下降:

  • 移除部分 Pod
Azure 计算解决方案

水平 Pod 自动扩缩器(HPA)

HPA

  • 可与 Azure Monitor 集成。
  • 支持自定义指标(请求延迟、队列长度)。
Azure 计算解决方案

集群自动扩缩器

 

自动扩缩器

 

 

  • 按需增加或移除节点。
  • 资源不足导致 Pod 无法调度:
    • 自动供应新节点
Azure 计算解决方案

集群自动扩缩器

 

自动扩缩器

 

 

  • 需求下降:

    • 移除空闲节点以节省成本
  • 基础设施与负载匹配:

    • 避免过度预留
Azure 计算解决方案

扩缩最佳实践

指标

设定合理的资源请求与限制

组合

将 HPA 与集群自动扩缩器结合使用

测试

在压测下验证扩缩行为

成本

监控成本

Azure 计算解决方案

回顾

 

Kubernetes

  • AKS 的扩缩可让应用自动适配需求:
    • 手动扩容
    • 水平 Pod 自动扩缩器
    • 集群自动扩缩器
  • 兼顾性能与效率。
Azure 计算解决方案

Vamos praticar!

Azure 计算解决方案

Preparing Video For Download...