云原生基础架构实战课
15
15
1.0x
00:00/00:00
登录|注册

12|Kubernetes HPA:云原生应用扩缩容管理之道

你好,我是潘野。
上一讲的末尾我讲了公有云上引起浪费的两个大类情况,其实云资源浪费是一个普遍存在的问题,无论是在公有云还是私有云环境中都可能发生,如何解决云资源浪费也是基础架构管理中非常重要的一个部分。
今天我们展开讲讲,哪些原因会造成云资源浪费,以及我们怎么利用好云原生技术来解决云资源的浪费问题,提升我们的资源使用率。

哪些情况会造成资源浪费?

云资源利用率低是指已分配的云资源没有被充分利用,导致闲置浪费。我们看看哪些情况会造成这个结果。
首先是过度或错误配置。在创建云实例时,为了满足峰值需求,应用维护者往往会配置过多的资源。然而,实际应用中,资源需求通常会低于峰值,导致大部分时间资源处于闲置状态。
比如我就遇到过这种情况:开发申请了十台 300G 内存的机器做 Redis Cluster,而上线之后,发现实际使用率只有 20%,这就相当于 8 台机器被浪费了。
错误配置的现象也很常见,配置云资源时,由于缺乏经验或相关知识,可能会出现错误配置。例如应用程序比较消耗 CPU,不太消耗内存,但是却申请了一个内存很大的机器,导致资源浪费。
然后是资源预留问题。  为了保证资源的可用性,应用维护者会预留一定量的资源保障应用做横向或者纵向扩展。然而,预留资源往往无法完全利用,导致资源闲置浪费。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

1. 云资源浪费的原因包括过度或错误配置、资源预留问题以及不必要的服务,这导致资源闲置浪费。 2. 在云原生体系中,动态扩缩容是解决资源浪费问题的关键,包括应用本身的水平扩展与纵向扩展以及Kubernetes集群本身容量的动态扩缩容。 3. Kubernetes HPA(HorizontalPodAutoscaler)可以根据 CPU 利用率、内存利用率和其他自定义指标自动扩缩容 Pod 数量,以满足应用程序的负载需求。 4. HPA支持从其他的API中获取指标来进行扩容,通过Prometheus-Adapter可以将 Prometheus 监控的应用程序的指标暴露给 Kubernetes HPA。 5. Prometheus-Adapter是一款用于将 Prometheus 指标转换为 Kubernetes 自定义指标的工具,可以实现自动扩缩容 Pod 以满足应用程序的负载需求。 6. 通过配置HPA,可以指定指标类型和目标值,实现根据特定指标动态扩缩容 Pod 数量。 7. 为了测试效果的实效性,可以设置扩缩容的行为 behavior,以及指定指标类型和目标值来验证扩缩容效果。 8. Kubernetes集群支持的第三方API可以提供更多的指标来进行扩缩容,从而更精确地满足应用程序的负载需求。 9. 通过动态扩缩容,可以提高资源利用率,并降低成本,是解决云资源浪费问题的有效途径。 10. 通过动态扩缩容,可以实现在流量高峰时期动态扩容,流量进入低峰时释放闲置资源,提高资源使用率。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云原生基础架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 夜空中最亮的星
    根据业务情况和历史数据 定时提前扩容。 VPA 有什么示列吗?
    2024-04-19归属地:北京
  • 橙汁
    不用kubernetes 不用kubernetes 不用kubernetes !!!
    2024-04-19归属地:北京
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部