k8s基于自定义指标的自动弹性伸缩落地解决方案?

对于需要使用k8s弹性伸缩能力的项目,在具体实践中应该如何根据场景选取除了CPU、内存之外的自定义指标,如何根据选取的指标进行策略制定(阈值设定,聚合策略制定),有无通用的方案可以借鉴?例如银行业核心系统批量服务的自定义弹性伸缩,应该选取哪些指标,制定什么样的弹性策略?

参与7

2同行回答

gavin_zhanggavin_zhang系统架构师某股份制银行
除了CPU和内存,对于批量服务,网络带宽和磁盘的IO也需要进行监控。如果更加细致的话,可以监控OS核心的指标。另外也可以从业务指标进行监控,如业务处理时长,业务成功率等。目前貌似没有通用方案,和业务特点有关。...显示全部

除了CPU和内存,对于批量服务,网络带宽和磁盘的IO也需要进行监控。如果更加细致的话,可以监控OS核心的指标。另外也可以从业务指标进行监控,如业务处理时长,业务成功率等。目前貌似没有通用方案,和业务特点有关。

收起
银行 · 2022-11-23
浏览800
罗文江罗文江课题专家组云计算架构师某银行
1、 k8s自动弹性伸缩能力的实现,存在有最佳实践,但是具体实现,是靠K8S不同商用发行版产品的能力而定,没有通用的方案。2、 k8s自动弹性伸缩是指根据容器资源占用情况自动调整容器数量。通常由K8S集群配置自动弹性伸缩的若干指标,譬如CPU、内存、网络等,然后监测指标是否超出所...显示全部

1、 k8s自动弹性伸缩能力的实现,存在有最佳实践,但是具体实现,是靠K8S不同商用发行版产品的能力而定,没有通用的方案。

2、 k8s自动弹性伸缩是指根据容器资源占用情况自动调整容器数量。通常由K8S集群配置自动弹性伸缩的若干指标,譬如CPU、内存、网络等,然后监测指标是否超出所设定的上下限时,通常使用的是采集周期(一分钟)内监测指标的平均值(即 CPU 平均使用量和内存平均使用量),而且只有当连续三个采集周期内的监测指标平均值均超出所设定的上下限时,自动弹性伸缩才会触发扩容或伸缩操作,以避免因为监控数据抖动而引起频繁的扩容或缩容操作。

3、 k8s自动弹性伸缩 通常提供“弹性伸缩策略”,供业务应用绑定使用。 当监测指标值超过所设定的上限,以用户设定的步长增加容器数量。 当监测指标值低于所设定的下限,以用户设定的步长减少容器数量。

4、常用的监测指标如下:

  • 以 CPU 使用量为指标

    • 指定上限: auto_scaling.max_cpu
    • 指定下限:auto_scaling.min_cpu
  • 以内存使用量为指标

    • 指定上限:auto_scaling.max_memory
    • 指定下限:auto_scaling.min_memory
  • 以出网速率(bytes/s)为指标

    • 指定上限:auto_scaling.max_internetOutRate
    • 指定下限:auto.scaling.min_internetOutRate
  • 以入网速率(bytes/s)为指标

    • 指定上限:auto_scaling.max_internetInRate
    • 指定下限:auto_scaling.min_internetInRate

5、 核心系统的批量服务,因为其业务连续性保障需求较高,且故障会影响第二天的开门营业。通常会预留充足的资源,而不宜使用 k8s自动弹性伸缩。

收起
银行 · 2022-11-27
浏览755

提问者

wujiahua
职员某大型国有银行
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-11-22
  • 关注会员:3 人
  • 问题浏览:1734
  • 最近回答:2022-11-27
  • X社区推广