Azure Kubernetes 水平自动扩充Pod

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:wuyvzhang网络

小提示:您能找到这篇{Azure Kubernetes 水平自动扩充Pod}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Azure Kubernetes 水平自动扩充Pod内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

当我们将应用部署到AKS中以pod的形式对外提供服务时,为了确保用户可以获得良好的使用体验,我们需要关注如下两种情况:

  • POD因为不明原有挂掉,导致服务不可用

  • 当出现大量用户访问时,Pod在高负荷的情况下能否支撑我们的应用

对于Pod的高可用性我们可以使用AKS的deployment控制器来确保Pod可以持续对外提供服务,但是对于面临大量用户访问时,我们就需要扩展我们的资源来满足业务需求。
前面的文章中给大家介绍了手动扩展pod来满足业务的扩展需求,但是相信大家都已经意识到了如果我们人工监控pods,人工进行调整副本那么这个工作量无疑是巨大的,但kubernetes已经有了相应的机制来应对了。这就是我们今天要为大家介绍的水平自动扩充POD(HPA)
HPA全称Horizontal Pod Autoscaler控制器工作流程



HPA的工作流程如下:

  • 创建HPA资源对象,关联对应资源例如Deployment,设定目标CPU使用率阈值,最大,最小replica数量。
    前提:pod一定要设置资源限制,参数request,HPA才会工作。

  • HPA控制器每隔15秒钟(可以通过设置controller manager的–horizontal-pod-autoscaler-sync-period参数设定,默认15s)通过观测metrics值获取资源使用信息

  • HPA控制器将获取资源使用信息与HPA设定值进行对比,计算出需要调整的副本数量

  • 根据计算结果调整副本数量,使得单个POD的CPU使用率尽量逼近期望值,但不能照顾设定的最大,最小值。

  • 以上2,3,4周期循环

说了这么多,下面我们来看下如何配置HPA:
在配置HPA之前,我们需要先了解Node节点的配置情况
检查与配置resource limit
使用kubectl get nodes命令检查node信息(node名称)

使用命令 kubectl describe nodes NODE_NAME 确认 Node公关公司做什么 资源配置的状态, 因为我们之前没有配置Resource quata,因此我们需要先设定好 Resource 限制:

打开我们之前创建的yaml文件,修改 Resources 配置, 其中 CPU 配置 Container 只使用 1 个 CPU 单元, Request 限制使用 0.5 个 CPU 单元:

修改完成以后使用kubectl apply -f FILE_NAME重新部署对应POD

设置水平自动扩充HPA
使用命令 kubectl autoscale deployment nginx--cpu-percent=1 --min=1 --max=10 将自动扩充设定为 CPU危机公关近期-percent 设定为1%, 并且将 minimum replica 数设为 1, maximum replica 数设为 10.

配置完成以后我们使用webbench来对我们部署的NGINX网站进行压力测试:

使用命令 kubectl get hpa 观察水平自动扩充状态, 请注意 Target 中有两个数字, 是 Current/Target CPU 使用率

使用命令 kubectl get deployment 观察 deployment 数量有无增加

使用命令 kubectl get pod 观察 pod 数量有无增加, 并且注意状态, 如果 > 1 表示水平自动扩充 (hpa) 已经成功设置且生效了



清除资源
测试完成以后,我们可以使用kubect delete -f FILE_NAME 来删除对应的deployment资源:

使用kubectl delete hpa nginx来删除hpa资源:

Azure Kubernetes 水平自动扩充Pod

上一篇:Youtube广告投放策略
下一篇:敦煌网|这个类目市场或将超1023亿美元,卖家应该


版权声明:以上主题为“Azure Kubernetes 水平自动扩充Pod"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Azure Kubernetes 水平自动扩充Pod
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Azure Kubernetes 水平自动扩充Pod”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Azure Kubernetes 水平自动扩充Pod的相关事宜。

关键词:Azure,Kubernetes,水平自动扩充

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号