Kubernetes KEDA如何工作

avatar
作者
猴君
阅读量:0

KEDA(Kubernetes Event-driven Autoscaling)是一个基于事件驱动的自动伸缩器,它允许根据事件数量来驱动Kubernetes中任何容器的扩展。KEDA是一个单一用途的轻量级组件,可以部署到任何Kubernetes集群中,与标准Kubernetes组件(例如Horizontal Pod Autoscaler)一起工作,扩展K8S功能。以下是KEDA的工作原理:

KEDA的主要组件

  • Scaler:连接到外部服务(例如,MySQL)并获取指标(例如,表的数据量)。
  • Operator(代理):负责“激活”一个Deployment/StatefulSet并创建一个Horizontal Pod Autoscaler对象。
  • Metrics Adapter:将来自外部源的指标呈现给Horizontal Pod Autoscaler。

KEDA的工作流程

  1. 监控事件源:KEDA监控定义的事件源,并定期检查是否有任何事件。
  2. 触发伸缩:当事件数量达到设置的阈值时,KEDA会根据部署的副本数进行扩展或缩减。
  3. 调整Pod副本数:KEDA负责将Deployment的副本数从0扩展到多个实例,或者缩减到0。

KEDA与HPA的关系

KEDA并不是要取代HPA,而是对HPA的补充。KEDA专注于基于事件驱动的伸缩,而HPA则专注于基于资源利用率的伸缩。KEDA的出现主要是为了解决HPA无法基于灵活的事件源进行伸缩的问题。

KEDA的安装和配置

KEDA支持通过Helm方式进行安装,也可以直接使用kubectl进行安装。安装完成后,KEDA会启动两个pod,如果这两个pod状态为Running,则表示安装成功。

通过KEDA,用户可以根据实际需求设置自动伸缩的触发条件,例如消息队列中的消息数量,从而实现更灵活和智能的资源管理。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!