Kubernetes HPA 的三个误区与避坑指南

2f56dbf26c67f3f3fe915541daa0b194.gif

01

前言

Aliware

云计算带来的优势之一便是弹性能力,云原生场景下 Kubernetes 提供了水平弹性扩容能力(HPA),让应用可以随着实时指标进行扩/缩。然而 HPA 的实际工作情况可能和我们直观预想的情况是不一样的,这里面存在一些认知误区。本文总结了一下 EDAS 用户在使用 HPA 时常遇到的三个认知误区,具体如下:

误区一:HPA 存在扩容死区

现象:当 Request=Limit 时,期望利用率超过 90%时,无法正常扩容。

原因剖析:HPA 中存在容忍度(默认为 10%),指标变化幅度小于容忍度时,HPA 会忽略本次扩/缩动作。若当期望利用率为 90%时,则实际利用率在 81%-99%之间,都会被 HPA 忽略。

避坑指南:当 Request=Limit 时,避免设置过高的期望利用率,一来避免扩容死区;二来被动扩容有一定的迟滞时间,留下更多的缓冲余量以应对突增流量。

0c6c3cdcf081b1a0b8789775fc328229.jpeg

误区二:误解利用率计算方法,HPA 扩容与预期使用量不符

现象:当 Limit > Request 时,配置 50%的利用率,使用量未达到 Limit 的 50%便扩容。

原因剖析:HPA 计算利用率是基于 Request 计算,当 Limit > Request 时,实际利用率是可以超过 100%。

避坑指南:对于较为重要的应用,应当设置 Request=Limit 保证资源的独占。对于可以容忍资源共享的应用,对应的期望利用率也不应设置的过高,在集群资源紧张时,超量使用资源的 Pod 很有可能会被杀死,从而造成服务中断。

b679ce88dd58937cfc862147a47a2e84.jpeg

误区三:弹性行为总是滞后的,扩缩行为与心理预期不符

现象:指标突增时,HPA 不会立刻扩容,且扩容可能是分多次进行,最终稳定时的实例数也与预期不同。

原因剖析:HPA 的设计架构决定了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kubernetes 是一个开源的容器编排系统,用于自动部署、扩展和管理容器化的应用程序。 如果您想学习 Kubernetes,以下是一些中文学习资源: 1. Kubernetes 官方文档:https://kubernetes.io/docs/home/?locale=zh-CN 2. Kubernetes by Example 中文版:https://feisky.gitbook.io/kubernetes/ 3. Kubernetes 实战:https://www.kancloud.cn/eggman/k8s-guide/content 4. Kubernetes 进阶实战:https://jimmysong.io/kubernetes-handbook/ 5. Kubernetes 技术内幕:https://www.bookstack.cn/read/kubernetes-source-insights/SUMMARY.md 这些资源将帮助您了解 Kubernetes 的基础知识、实际应用和高级技巧。希望对您有所帮助! ### 回答2: Kubernetes是一个开源的容器编排和管理平台,由Google开发并捐赠给云原生计算基金会(CNCF)。它为运行和管理容器化应用提供了一种快速、高效、灵活和可扩展的方式。 在学习Kubernetes时,中文学习文档提供了很好的辅助资源。这些文档可以帮助我们更好地理解Kubernetes的概念、架构和使用方法。中文学习文档通常包含以下内容: 1. 概述:介绍Kubernetes的基本概念、优点和核心特性,帮助我们了解为什么选择Kubernetes来管理容器化应用。 2. 安装和部署:提供详细的安装和部署指南,包括Kubernetes集群的搭建和配置。 3. 使用指南:通过实际的例子和操作,展示如何使用Kubernetes来创建和管理容器化应用。这些使用指南涵盖了Pod、Service、Replication Controller、Deployment等Kubernetes的核心概念。 4. 管理和监控:介绍Kubernetes的管理和监控功能,包括如何扩展和更新应用,以及如何监控集群的健康状态。 5. 故障排除:给出了一些常见问题和故障排除的解决方法,帮助我们在使用Kubernetes过程中遇到问题时能够快速定位和解决。 6. 社区资源:提供了Kubernetes相关的社区资源链接,包括官方文档、博客、邮件列表和社交媒体等,方便我们获取更多的学习和交流机会。 总之,中文学习文档为我们提供了一个方便快捷的学习Kubernetes的途径,帮助我们更好地理解和应用这个强大的容器编排和管理平台。无论是初学者还是有经验的用户,都可以从中文学习文档中受益。 ### 回答3: Kubernetes 是一个开源的容器编排平台,在云计算领域中应用广泛。为了更好地学习和使用 Kubernetes,中文学习文档是非常重要的。 Kubernetes 中文学习文档提供了全面而详细的介绍,帮助我们了解 Kubernetes 的基础知识、架构和核心概念。文档中会介绍如何安装和设置 Kubernetes,以及如何使用其各种功能来管理容器化应用程序。 文档中还会介绍 Kubernetes 的核心组件,如 Master 和 Node,以及它们的功能和作用。学习文档还会涵盖常见的 Kubernetes 操作和命令,介绍如何创建和管理 Pod、Deployment、Service 等资源。此外,文档还会解释 Kubernetes 中的标签和选择器、命名空间、持久化存储等重要概念。 除了基础知识,学习文档还会提供一些实例和教程,通过实践操作来帮助我们更好地理解和应用 Kubernetes。这些实例和教程包括如何部署应用、进行扩展和负载均衡、进行故障排查等。 对于想要深入学习 Kubernetes 的人来说,文档还会介绍一些高级主题,如自定义资源定义(CRD)、水平自动伸缩(HPA)、网络策略和部署安全等。同时,还会介绍 Kubernetes 中的一些生态系统工具和插件,如 Helm、Prometheus、Istio 等。 总之,Kubernetes 中文学习文档提供了全面的学习资源,帮助我们快速上手和深入理解 Kubernetes。通过阅读和实践,我们可以更好地管理和部署容器化应用程序,并享受到 Kubernetes 带来的便利和优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值