k8s ScaledObject

k8s ScaledObject,第1张

k8s d性伸缩 ScaledObject

文章目录
  • k8s d性伸缩 ScaledObject
  • 前言
  • 一、ScaledObject yaml
  • 二、scaleTargetRef
    • name
  • 三、pollingInterval
  • 四、cooldownPeriod
  • 五、maxReplicaCount
  • 六、minReplicaCount
  • 七、triggers
  • 总结


前言
  • 以下主要是介绍利用ScaledObject控制Deployment,通过rabbitmq的队列消息数量动态调整pod的个数
  • kubectl apply -f https://github.com/kedacore/keda/releases/download/v2.0.0-beta/keda-2.0.0-beta.yaml

一、ScaledObject yaml
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: rabbitmq-ssssss
spec:
  scaleTargetRef:  # scale 的目标引用
    name: rabbitmq-consumer
  pollingInterval: 10 # 多长时间监听一次队列可选. 默认: 30 seconds
  cooldownPeriod: 30 # pod生存的时间可选. 默认: 300 seconds
  maxReplicaCount: 10 # 最大容器数量可选. 默认: 100
  minReplicaCount: 1 # 最小容器数量可选. 默认: 1
  triggers:
 - type: rabbitmq  # 基于 rabbitmq 进行伸缩
    metadata:
      queueName: ssssss  # 监听的队列名
      queueLength: '5' #每达到5个堆积任务数量进行扩容
      host: 'amqp://guest:guest@rabbitmq.scaledobject.svc.cluster.local:5672'
       
二、scaleTargetRef name
  • name 指定控制那个 Deployment Deployment的name

三、pollingInterval
  • 指定多长时间去监听一次队列,默认值为30秒

四、cooldownPeriod
  • 这个冷却时间,我的理解就是当ScaledObject判断到不需要这么多pod的时候,就是需要缩容的时候有一个冷静期,假设设置为10s,在10秒后就会开始关闭一些pod,默认值为30秒

五、maxReplicaCount
  • 最大的副本数量,就是可以扩容到最大的值,假如设置为10,那最多扩容到10个pod,默认值为100

六、minReplicaCount
  • 最小的副本数量,就是可以缩容到最小的值,假如设置为5,那会保持最小5个pod,设置了minReplicaCount的话会覆盖Deployment的replicas ,例如Deployment的replicas设置为10, minReplicaCount设置5,那Deployment会先创建10个pod,之后ScaledObject会自动缩容到5pod 。
  • 设置了minReplicaCount的时候,好像cooldownPeriod会失效,会按cooldownPeriod的默认值300秒来处理,这个我通过实验是这样的结果,不知道是不是我当中的一些 *** 作有问题。
  • 默认值为1

七、triggers

这里只是介绍rabbitmq

  • type rabbitmq
  • metadata
    queueName 队列名字
    queueLength 需要扩容的消息数量 加入设置为20,当消息每增加20个就会扩容一个pod
    host rabbitmq 的连接 amqp://用户名称:密码@Service的name.命名空间.svc.cluster.local:端口 这里需要跨命名空间连接
总结

以上是我对ScaledObject的理解,以后我新的发现会补充

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/871379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存