上云无忧 > 文档中心 > 腾讯云容器服务实战教程 - 集群弹性伸缩实践
容器服务 TKE
腾讯云容器服务实战教程 - 集群弹性伸缩实践

文档简介:
腾讯云容器服务(Tencent Kubernetes Engine,TKE)提供集群和服务两个层级的弹性伸缩能力, 能够根据业务运行情况监控容器的 CPU、内存、带宽等指标,进行自动扩缩服务。同时您可以根据容器的部署情况,在容器不够资源分配或者有过多剩余资源的情况下自动伸缩集群。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
腾讯云容器服务(Tencent Kubernetes Engine,TKE)提供集群和服务两个层级的弹性伸缩能力, 能够根据业务运行情况监控容器的 CPU、内存、带宽等指标,进行自动扩缩服务。同时您可以根据容器的部署情况,在容器不够资源分配或者有过多剩余资源的情况下自动伸缩集群。如下图所示:

集群弹性伸缩特点

TKE 支持用户为集群开启自动伸缩,帮助用户高效管理计算资源,用户可根据业务设置伸缩策略,而集群弹性伸缩策略具备以下特点:
根据业务负载情况,动态实时自动创建和释放云服务器(Cloud Virtual Machine,CVM),帮助用户以最合适的实例数量应对业务情况。全程无需人工干预,为用户免去人工部署负担。
帮助用户以最适合的节点资源面对业务情况。当业务需求增加时,为用户无缝地自动增加适量 CVM 到容器集群。当业务需求下降时,为用户自动削减不需要的 CVM,提高设备利用率,为用户节省部署和实例成本。

集群弹性伸缩功能说明

Kubernetes cluster autoscaling 基本功能

支持设置多伸缩组。
支持设置扩容和缩容策略,详情请参见 Cluster Autoscaler

TKE 伸缩组扩展功能

支持创建新的机型的伸缩组(推荐)。
支持从集群内的节点作为模板创建伸缩组。
支持竞价实例伸缩组(推荐)。
支持机型售罄时自动适配合适的伸缩组。
支持跨可用区配置伸缩组。

集群弹性伸缩限制

集群弹性伸缩可扩容节点数量受私有网络 、容器网络、TKE 集群节点配额及可购买云服务器配额限制。
扩容节点受机型当前售卖情况限制。若机型出现售罄,将无法扩容节点,建议配置多个伸缩组。
需要配置工作负载下容器的 request 值。自动扩容的触发条件是集群中存在由于资源不足而无法调度的 Pod,而判断资源是否充足正是基于 Pod 的 request 来进行的。
建议不要启用基于监控指标的节点弹性伸缩。
删除伸缩组会同时销毁伸缩组内的 CVM,请谨慎操作。

集群伸缩组配置

多伸缩组配置建议(推荐) 集群存在多个伸缩组时, 自动扩缩容组件将按照您选择的扩容算法选择伸缩组进行扩容,一次选择一个伸缩组。 当出现目标伸缩组由于售罄等原因扩容失败时,将会置为休眠一段时间,同时触发重新选择第二匹配的伸缩组进行扩容。
随机:随机选择一个伸缩组进行扩容。
Most-pods:根据当前 pending 的 Pod 和伸缩组的机型,判断并选择能调度更多 Pod 的伸缩组进行扩容。
Least-waste:根据当前 pending 的 Pod 和伸缩组的机型,判断并选择 Pod 调度后资源剩余更少的伸缩组进行扩容。
建议您在集群内配置多个不同机型的伸缩组,以防止某种机型出现售罄的情况。同时可以使用竞价机型和常规机型混用以减少成本。
集群单伸缩组配置
相似文档
  • 操作场景: 如 TKE 集群配置了节点池并启用弹性伸缩,则在节点资源不够时可以触发节点的自动扩容(自动购买机器并加入集群),该扩容流程需要一定的时间才能完成,在一些流量突高的场景,该扩容速度可能会显得太慢,影响业务正常运行。
  • 操作场景: metrics-server 可实现 Kubernetes 的 Resource Metrics API(metrics.k8s.io),通过此 API 可以查询 Pod 与 Node 的部分监控指标,Pod 的监控指标用于 HPA、VPA 与 kubectl top pods 命令,而 Node 指标目前只用于 kubectl top nodes 命令。
  • 操作场景: 容器服务 TKE 基于 Custom Metrics API 支持许多用于弹性伸缩的指标,涵盖 CPU、内存、硬盘、网络以及 GPU 相关的指标,覆盖绝大多数的 HPA 弹性伸缩场景,详细列表请参见 自动伸缩指标说明。针对例如基于业务单副本 QPS 大小来进行自动扩缩容等复杂场景,可通过安装 prometheus-adapter 来实现自动扩缩容。
  • 概述: Kubernetes Pod 水平自动扩缩(Horizontal Pod Autoscaler,以下简称 HPA)可以基于 CPU 利用率、内存利用率和其他自定义的度量指标自动扩缩 Pod 的副本数量,以使得工作负载服务的整体度量水平与用户所设定的目标值匹配。本文将介绍和使用腾讯云容器服务 TKE 的 HPA 功能实现 Pod 自动水平扩缩容。
  • HPA v2beta2 版本开始支持调节扩缩容速率: 在 K8S 1.18之前,HPA 扩容是无法调整灵敏度的: 对于缩容,由 kube-controller-manager 的 --horizontal-pod-autoscaler-downscale-stabilization-window 参数控制缩容时间窗口,默认 5 分钟,即负载减小后至少需要等 5 分钟才会缩容。 对于扩容,由 hpa controller 固定的算法、硬编码的常量因子来控制扩容速度,无法自定义。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部